2009-10-17 5 views
1

내 응용 프로그램 사용자가 오랜 시간 동안 로그인 상태를 유지하기를 바랍니다. 문제는 서버가 끝날 때 세션이 만료되어 세션에 저장된 변수가 손실된다는 것입니다. 그래서 세션을 10 일 만료되도록 설정하고 있습니다.PHP 세션 : 세션 만료 기간을 10 일로 설정하면 어떻게됩니까?

내 질문은 : GC 만료 및 쿠키 수명을 10 일로 설정하는 보안 또는 성능 문제가 있습니까? 분명히

ini_set('session.cookie_lifetime', 864000); 
ini_set('session.gc_maxlifetime', 864000); 

답변

2

큰 세션 시간 제한보다 큰 쿠키/세션 하이재킹의 위험하지만 당신은 매우 민감한 정보 (건강 기록, 온라인 뱅킹 등)을 다루는 경우가 아니라면 난 당신처럼 할 의향이 될 것이다 . 사실 나는 가지고있다.

+0

감사합니다. 내 생각은 : 그것은 DB에 저장하고 세션이 만료 될 때마다 그것을 검색하는 것보다 낫습니다. 건배! – Amer

0

세션 하이재킹의 위험이 증가합니다.

주기적으로 session_regenerate()를 호출합니다. 이렇게하면 실제로 로그인하는 사용자의 위험을 줄일 수 있지만 그렇지 않은 사용자에게는 아무런 효과가 없습니다.

+1

사용자를 로그인 상태로 유지하는 유일한 방법은 '내 기억'쿠키이지만 두 번째 생각에서 세션 하이재킹에도 취약합니다. 구축중인 앱은 민감한 정보를 다루지 않으므로 세션 하이재킹은 거의 발생하지 않습니다. 오, 나는 이미 session_regenerate()를 사용하고 있습니다. 사용자가 아무런 조치도 취하지 않거나 하루 종일 사이트를 떠난 경우에도 로그인 상태를 유지하기를 원합니다. 감사합니다. :) – Amer