php 간단한 로그인 창 만들기 / 쿠키 & 세션 이용방법에 대해서 정리한다.
php 간단한 로그인 창 만들기
* meta 태그를 이용하면 로그인이 성공하던지 실패 하던지간에 해당 창이 다시 원래 페이지로 돌아오도록 할 수 있다.
( 연관배열을 이용해서 id와 pw가 배열안에 있는 key와 value값과 일치하면 login succes라는 alert창을 띄워준다 )
( 연관배열안에 해당 id 혹은 pw가 일치하지 않았기 때문에 login failure라는 alert창을 띄운다 )
1. 쿠키를 사용한 사용자 인증
- 쿠키를 굽는다.
- setcookie(): 쿠키 발행 함수
2. 단점
- 사용자의 개인정보가 로컬 컴퓨터에 남는다.
- 쿠키의 유효기간동안은 재인증 없이 사용이 가능
( php 공식 홈페이지를 통해서 setcookie에 대한 정보를 검색해본 결과이고 '[ ]'가 되있는 부분은 생략 가능한 부분이다 )
( 로그인 성공시에는 해당 사용자에게 쿠키를 발행하게 되고 이후에는 이 쿠키를 이용해서 해당 사용자인지를 인증하게 된다 )
( 쿠키는 document.cookie를 통해서 확인이 가능하고 쿠키 갯수는 얼마든지 만들수 있다 )
( 쿠키정보는 $_COOKIE에 들어있고 key와 value 형태로 저장이 되어있다 )
( 쿠키를 이용하면 해당 사용자가 중복 로그인이 되는걸 방지할 수 있다 )
( 로그인 된 사용자를 로그아웃 할 수 있도록 logout 기능을 구현해주고 이때 해당 쿠키값을 없애줘야 한다 )
( logout시에 쿠키를 없애주는 코드이고 meta 태그를 이용해서 쿠키를 없애고 메인 페이지인 login.php로 돌아간다 )
- 세션
1. 세션
- 쿠키의 단점을 보완하여 새로 나옴!
- 브라우저가 실행중인 동안에만 유효
2. session 관련 함수
1). session_start()
- 세션을 사용하는 곳에서는 무조건 제일 먼저 호출해야 한다.
- 세션 아이디가 쿠키를 통해서 발급
( 세션 아이디는 위 그림과 같이 쿠키에 저장되어 있고 나머지 세션 정보들은 서버(세션)에 저장이 된다 )
2). $_SESSION
- 사용자의 정보는 $_SESSION 변수를 통해서 관리
( 세션 아이디를 제외한 id나 login_time 같은 경우에는 $_SESSION 변수에 들어있는걸 볼 수 있다 )
* 세션 정보는 세션 아이디를 제외하고는 서버에 저장된다.
( php 저장 기본 경로: /var/lib/php/session )
( 세션 아이디는 쿠키를 통해 전달 되기 때문에 웹브라우저 document.cookie에 남아있다 )
( 세션을 없앨때는 session_start()이후에 session_destroy()를 이용한다 )
( session_destroy()를 이용해서 세션 정보를 없애줘도 세션 아이디는 쿠키에 들어있기 때문에
없어지지 않은걸 볼 수 있다 )
* session_destroy를 이용하게 되면 세션 아이디는 없어지지 않지만 안에 들어있는 파일 내용은 없어진다.
( session 아이디는 쿠키안에 저장 되었기 때문에 session_name() 함수를 이용해서
세션 이름을 가져와서 setcookie() 함수를 이용해 쿠키 값을 초기화 시켜줘야 세션 아이디를 없앨수 있다 )
* 세션은 웹 브라우저를 종료하게 되면 없어지지만 보안상 로그아웃을 해주는게 안전하다.
프로그래머 로드맵: http://codedragon.tistory.com/m/5156
'프로그래밍 > WEB HACKING' 카테고리의 다른 글
[WEB HACKING] 게시판 만들기(1) 시나리오 / 회원가입 페이지 만들기 (4) | 2017.08.29 |
---|---|
[WEB HACKING] DB SQL( DDL / DML / DCL ) 개념 / MySQL 설정 및 DB Query (0) | 2017.08.29 |
[WEB HACKING] php 연관 배열, foreach / 데이터를 서버로 전달하는 방법( GET / POST / 쿠키 ) / 웹 인증 방법 (0) | 2017.08.17 |
[WEB HACKING] javascript 이벤트 / php 개념 및 슈퍼 글로벌 변수 (0) | 2017.08.17 |
[WEB HACKING] javascript 반복문( while, for, for in ), 배열 / 간단한 야구게임 만들어보기 (0) | 2017.08.14 |
댓글