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 |