2012-04-20 4 views
2

간단한 로그인 및 로그 아웃 메커니즘을 구현하려고합니다. 사용자가 로그인하면 session_start()을 사용하여 세션을 만들고 있습니다. 사용자 로그 아웃시 나는 매회 session_start()가 동일한 세션 ID를 생성 중임

session_unset(); 
session_destroy(); 

를 호출하고 있지만 문제는 다음 번에 로그 아웃 한 후 다시 로그인하는 경우이다. the session_id()은 이전과 동일합니다. session_destroy()의 숫자가 아무리 많아도 session_id()은 항상 같습니다. session_destroy()이 작동하지 않는다는 의미입니까? 아니면 다른 이유가 있습니까?

답변

5

변경

session_unset(); 
session_destroy(); 

코드 세션과 마찬가지로

session_start(); 
session_destroy(); 

에 정말 파괴되지 않습니다.

3

http://php.net/session_destroy

로 세션() 기본적으로

$_SESSION = array(); 

을 수행하지만, 세션 쿠키를 남겨두고, 그 안에 저장된 세션 ID, 그대로. setcookie() 호출을 사용하여 쿠키를 수동으로 설정 해제하거나 session_regenerate_id()을 사용하여 새 ID를 강제로 만들어야합니다.

관련 문제