2012-09-28 4 views
1

나는 웹 사이트에 PHP 세션을 사용하여 사용자가 처음 사이트에 로그온 할 때 경고 페이지를 표시합니다. 사용자의 브라우징 세션이 끝나거나 브라우저를 종료하면 세션이 자동으로 삭제됩니다. Chrome을 제외한 모든 브라우저에서 올바르게 작동합니다. 약간의 연구 끝에, 나는 this으로 이어진 this을 발견했다. Chrome과 관련된 버그 인 경우 어떻게 해결할 수 있습니까?Chrome이 자동으로 실행되지 않는 경우 브라우저가 닫힐 때 Chrome에서 PHP 세션을 파괴하거나 설정을 해제하거나 비슷하게 만드는 방법은 무엇입니까?

+0

삭제할 수없는 경우 덮어 쓸 수 없습니다. – Baba

답변

3

브라우저가 닫히고 만료 시간없이 전송되면 세션 쿠키가 삭제된다고 가정합니다.

당신은 시작 세션 처음 전에 session_cache_expire를 정의 할 수 있습니다 :()으로 session_start을 다음

session_cache_expire(60); // expires after 60 mins 

을 그리고, 대신 쿠키를 취소하려면 브라우저에 의존 ...

0

을 만료하도록 설정 상당히 신속하게 처리 할 수 ​​있으며 후속 페이지 요청시 쿠키를 갱신하여 세션을 "활성"상태로 유지할 수 있습니다.

<?php 
session_set_cookie(60*15); 
session_start(); 

이 예는 (당신이에 따라 다른 만료를 설정할 수 있습니다 후 15 분 만료되도록 쿠키를 설정하는 빈도 예상 페이지 요청을 보내는 사용자 : 한 1-2 분을 설정할 수 있습니다, 또는 XHR을 통해 신선한 쿠키를 얻으십시오). 이렇게해도 Chrome에서 쿠키를 삭제하지는 않지만 적어도 무기한으로 떠 다니지는 않습니다.

관련 문제