php] 세션 사용방법! 로그인 예제
로그인이라던가 세션을 사용할 때가 종종 있다.
그러면 세션은 어떻게 사용되는가? 로그인을 통해 보자!
session_start(); //세션 선언이다 기본적으로 세션을 실행하지 않으면
세션을 사용할 수 없다.
$_SESSION['user_id'] = $id;
$_SESSION['user_idx'] = $idx;
흔히 로그인 유저의 id와 유니크한 기본키값을 받아온다.
해당 값은 db에서 가져오며 해당값을 세션 변수에 담는다.
즉 이 세션 변수명이 안들키게 잘 하는게 보안이 높다. 왜냐면 공격자가
세션 변수 명을 알면 변조하여 공격할 수 있기때문! 노출안되게 조심하자.
다음은 세션을 처리할 php파일의 내용이다.
<?
session_cache_expire(360); //세션이 유지될 시간을 입력합니다.
session_start(); //세션시작
$user_id = $_SESSION['user_id']; //세션에서 값을 받아옵니다.
$user_idx = $_SESSION['user_idx']; //세션에서 값을 받아옵니다.
로그인하여 아이디와 비밀번호가 맞을시 db에서 id와 기본키 정보를 세션변수에 넣었다.
그리고 세션 변수에서 받아온것을 변수에 저장!
당연히 아이디와 비밀번호가 틀리면 세션 변수가 비어있으니 아무것도 없을것.!
그리고 주소를 쳐서 다이렉트로 와도 세션에 아무것도 없기때문에 접근 할 수 없다.
if(!$user_id) {
//아이디값이 없을경우 세션이 만료되었다는 의미이므로 처리할 코드를 입력합니다.
}
?>
그리고 세션이 필요한 부분 상단에는 항상 세션체크로 만들어둔 php 파일을 include해야한다.
하지 않으면 그냥 아무나 올 수 있다는 소리!
그리고 로그아웃시에는 세션 유지시간내에도 강제로 세션이 종료되게 하면 끝!
session_destroy(); //현재 세션의 종료.
세션 사용은 생각보다 단순하다. 세션을 선언하고 세션이 유지될동안 사용될 값을
세션 변수에 집어넣고 사용할 수 있다. 가장 많이 쓰이는건 로그인과 로그인 한 사람이
접근 할 수 있는 page에 많이 쓰이며 그 외에대 다양하게 쓰인다.
끝!
'IT이야기 > php' 카테고리의 다른 글
PHP 동작 원리! 웹프로그래미 언어란? (0) | 2019.12.03 |
---|---|
php] 세션 유지시간 ini파일 수정방법 (0) | 2019.11.20 |
php] 세션시간 늘리기! (0) | 2019.11.11 |
php 날짜 동기화 하기! (0) | 2019.11.08 |
php란? 기본 설명 (0) | 2019.10.31 |