2011-04-01 8 views
1

facebook, gmail, youtube 등의 일부 사이트에서 로그 아웃 할 때까지이 옵션을 선택하면 (또는 기본값 인 것처럼) 무한히 로그인 할 수 있습니다.로그인/세션에 제한이 없습니까?

며칠 후에 다시 로그인 할 수 있으며 여전히 로그인되어 있습니다. 어떻게 작동합니까?

나는 session_start(); 작업을하고 로그 아웃하기로 결정 때까지 내 사용자가 로그인을 유지할 수 있도록이 코드를 변경하려면 어떻게

$_SESSION['user']['id'] = 40;

에 예를 들어 사용자 데이터를 저장하는거야?

+1

기본적으로 쿠키를 다시 기록하기 위해 사용자의 세션을 다시 만드는 데 사용되는 일부 데이터가 포함 된 쿠키가 설정됩니다. 그것은 네이티브 PHP의 세션 수명을 연장하여 작동하지 않습니다, 당신이 무기한 로그온 할 수있는 시스템을 만드는 데 더 많은 것들이 관련되어 있습니다. –

+1

가능한 중복 : http://stackoverflow.com/questions/3128985/php-loginsystem-remember-me http://stackoverflow.com/questions/1354999/keep-me-logged-in -the-best-approach – Zakaria

답변

0

사용자 정보를 쿠키에 저장할 수 있으므로 필요할 때까지 사용할 수 있습니다. 사용자가 사이트를 방문 할 때마다 쿠키 정보를 확인하고 쿠키 정보를 기반으로 새 세션을 초기화 할 수 있습니다.

setcookie(name,value,expire,path,domain,secure) 
0

PHP 구성 파일에서 기억한다면 세션 수명이 0으로 설정 될 수 있지만 사용자가 브라우저를 사용할 때 세션이 만료됩니다.

setcookie()을 사용해야하고 9999999 (116 일)와 같이 높은 만료 시간을 설정해야합니다. 클라이언트 측 쿠키와 세션의 문제는 "클라이언트 측"쿠키가 암호 해시 같은 중요한 항목을 저장하는 데 적합하지 않다는 것입니다.

+0

쿠키의 수명은 세션의 수명과 관련이 없습니다. [30 분 후에 PHP 세션이 만료되는 방법에 대한 내 대답은?] (http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30- 분/1270960 # 1270960). – Gumbo