브라우저를 닫을 때, 충돌 할 때, PC가 다시 시작될 때 등 세션을 닫아야합니다.브라우저가 닫힐 때 PHP로 세션을 닫는 방법?
쿠키 솔루션이 있다는 것을 알고 있지만 사용자가 쿠키를 삭제할 수 있기 때문에 서버 측 보안이 필요합니다.
브라우저를 닫을 때, 충돌 할 때, PC가 다시 시작될 때 등 세션을 닫아야합니다.브라우저가 닫힐 때 PHP로 세션을 닫는 방법?
쿠키 솔루션이 있다는 것을 알고 있지만 사용자가 쿠키를 삭제할 수 있기 때문에 서버 측 보안이 필요합니다.
쿠키 삭제 사용자가 추락 한 브로우저를 실행하면 자동으로 삭제됩니다.
PHP에서는 사용자가 브로커를 닫을 때를 알 수 없습니다.
몇 가지 쉬운 방법은 websocket과 긴 폴링 연결이지만 구성하기 쉽지 않고 좋은 생각이 아닙니다.
당신은하지 않아도됩니다. 가비지 컬렉터가 세션을 정리합니다.
php ini 설정 session.gc_maxlifetime
은 세션이 활성 상태로 유지 될 수있는 기간을 결정합니다.
이 값을 초과하면 세션이 자동으로 제거됩니다.
이렇게하면 상상할 수 없습니다. PHP에서 이러한 이벤트에 직접 반응 할 수 없습니다. 가장 가까운 세션은 ajax를 사용하여 세션을 활성 상태로 유지하는 것입니다.
yourdomain.com/api/pulse.php
60 초마다에 요청을 전송하면 페이지에 자바 스크립트를 pulse.php.@ Oliver .. 70 초마다 아약스 파일을 호출하면 사이트 속도에 영향을 미칠지 모르는가? –
@Vishal 서버가 더 많은 요청을 처리해야합니다.그러나 PHP 스크립트는 매우 짧을 수 있으며 분당 추가 요청이 실제로는 문제가되지 않습니다. –
안녕하세요 세션을 닫을 필요가 없습니다. 사용자가 브라우저를 닫을 때 세션을 파기하는 세션의 기본 동작 때문입니다. 그리고 우리는 session.cookie_lifetime = 0을 수행하여 php.ini 파일의 세션 수명을 변경함으로써이 동작을 변경할 수 있습니다. 그렇지 않으면 브라우저를 다시 열면 기본적으로 세션에 데이터가 없습니다.
내가 아는 한 바로이 작업을 직접 수행 할 수는 없습니다 ... 시간 경과에 따른 사용자 활동을 확인하고 5 분이 지나면 누군가가 그 시간 동안 유휴 상태 일 때 -> 세션을 파괴합니다. – DarkBee
중복 가능성이 있습니다. .... [브라우저를 닫을 때 세션을 폐기] [1] [1] : http://stackoverflow.com/questions/4146647/destroy-php-session-on-closing – user2362083