반응형


PHP


*로그인 페이지


이제 배열에 유저 내용을 저장해 놓고 


로그인 했을때 맞으면 login sucess 틀리면 login failure가 뜨는 걸 구현했습니다




배열에 저장된 내용처럼 제대로 입력하면 sucess를 다르게 입력하면 failed를 출력하는걸 볼 수 있습니다.






이제 로그인이 성공하든 실패하든 다시 화면으로 refresh 되게 구현해보겠습니다



확인을 누르면 다시 로그인 페이지로 돌아가는 것을 확인 할 수 있습니다




이제 로그인 성공이 되면 쿠키를 발행해보도록 하겠습니다



-쿠키



1. 쿠키를 사용한 사용자 인증


 - 쿠키를 굽는다 (사용자한테 인증 토큰을 전달한다)

 - setcookie(): 쿠키 발행 함수


- setcookie() 기본구조


bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] )





이제 로그인 성공이 되고 정상적인 쿠키이면 로그인 창이 안보이도록 구현하겠습니다.



로그인을 성공해서 인증 토큰을 받으면 저렇게 문구가 뜸을 확인 할 수 있습니다.


토큰 유효기간을 하루로 설정해놔서 하루동안 다시 로그인을 할 수가 없습니다..


그럼 안되니 로그아웃을 구현해보도록 하겠습니다.




로그아웃 버튼을 누르면 다시 로그인을 할 수 있게 만들어 줍니다.




2. 쿠키의 단점


  -사용자의 개인정보가 로컬 컴퓨터에 남습니다.


 크롬은 따로 파일 디비를 쓰지만 익스플로러 같은 경우에는


 임시 파일에 쿠키가 남습니다.


 - 쿠키의 유효기간동안은 재인증 없이 사용이 가능






- 세션


  - 쿠키의 단점을 보완하여 새로 나옴

  

  - 브라우저가 실행중인 동안에만 유효


 1.Session 관련 함수


  1). session_start()


   -  세션을 사용하는 곳에서는 무조건 제일 먼저 호출해야합니다.



  2). $_SESSION


   - 사용자의 정보는 $_SESSION 변수를 통해서 관리합니다



이렇게 되면 사용자의 개인정보(세션으로 된것)은 서버쪽에 저장되있는걸 알 수 있습니다


위치 : /var/lib/php/session




세션은 브라우저가 켜있는동안만 유효하므로 모든 브라우저를 끄고 다시 시작하면

세션이 다 사라져있는것을 알 수 있습니다.



* 세션 로그아웃 구현




세션 파일이 사라지는게 아니고 세션 파일의 내용이 사라지는 것입니다.


*세션 파일 없애기


- 세션파일은 쿠키에 의해 발행된 것 이므로 setcookie()로 없애줘야 합니다.




읽어주셔서 감사합니다.

'Security > Web' 카테고리의 다른 글

[WEB SECURITY]9. 게시판 만들기  (0) 2017.08.22
[WEB SECURITY]8 MYSQL  (0) 2017.08.21
[WEB SECURITY]6. PHP  (0) 2017.08.17
[WEB SECURITY]5.Javascript 2 와 PHP  (0) 2017.08.16
[WEB SECURITY]4.Javascript  (0) 2017.08.14
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기