본문 바로가기
WEB_Security

09. 인증 (로그인 예제 , PHP)

by Jnamelight 2017. 5. 22.

인증


흔히 게임서버에 로그인을 하는것, FTP, SSH, ... 등을 이용하는 인증은 세션이 계속 유지가 된다.

TCP 통신을 하는 서비스인 경우 역시 처음에 접속시 인증을 완료하면 다시 요구하지 않는 특징이있다. (종료시까지)


하지만 WEB의 경우는 다르다


웹역시 TCP 통신을 한다. 또한 처음 한번만 인증을 요구하지만 웹은 TCP의 세션을 자동으로 끊는다

이유는 웹같은 경우는 전세계 사람들이 이용하는 경우가 많기 때문에 서버가 버티질 못한다. 잠깐 매순간에도 많은 사람들이 사용하기 때문에 세션을 유지 시켜주기에는 어려움이 있다. 따라서 자동적으로 끊는다.



위의 네트워크 상황과 아래의 상황을 비교 ( 웹 통신 X )



위와같이 TIME_WAIT 라는 상태의 접속이 이루어진것을 확인 ( 웹 통신 O)


이것이 웹의 통신이다. 그렇다면 웹은 계속 인증을 요구하는가?  정답은 그렇다이다.

하지만 웹에도 계속해서 요구를하면 사용자 입장에서는 귀찮을 것이다. 따라서 웹에는 특수한 방식으로 인증을 하는대

그것이 쿠키와 세션이다. 


로그인 


웹에서 하는 인증을 알아보기위해 간단한 예제를 만들어보자.



위와 같이 간단한 로그인 폼을 하나 만들어준다.



결과는 약간 허접하지만 사용할수 있는 것들은 모두 잘나옴



그럼이제 데이터베이스를 이용해서 내가 등록한 아이디가 맞는지 확인해서 로그인을 해줄수 있도록 해주자.

일단은 데이터베이스에 정보를 저장해놓아야한다

"user" 라는 새로운 테이블을 하나 만들고 값으로는 name,pass를 넣어주도록 하자. 



그리고 내가 등록한 아이디를 하나 넣어주도록 한다.

위와같이 비밀번호는 md5를 이용해서 암호화를 한번 해준뒤 저장을하자.



그럼 다시 php파일로 돌아와서 mysql과 연결해주고 쿼리를 이용해서 내가 보낸 정보와 비교해서 맞으면 

count를 하나 증가시켜주는 소스이다.



그럼 위와같이 잘 나오게 된다.




'WEB_Security' 카테고리의 다른 글

11. 제로보드 실습환경 구축  (0) 2017.05.26
10. 쿠키 & 세션  (0) 2017.05.24
08. 데이터베이스 실습 (PHP)  (0) 2017.05.19
07. 데이터베이스 실습  (0) 2017.05.18
06. GET,POST 차이 & DB 개념  (0) 2017.05.17

댓글