2011-04-13 5 views
2

5 분 동안 사용하지 않으면 사용자를 로그 아웃하는 클라이언트 측 jquery 스크립트가 있습니다. 문제는 사용자가 세션을 로그 아웃하지 않고 멀리 탐색하는 것이 활성 상태를 유지한다는 것입니다. 사용자가 브라우저를 닫아야 브라우저가 열리는 동안 세션이 살아 있거나 사용자가 로그 오프했기 때문에 세션을 파괴해야합니까? 이 됐건비활성 상태의 # 분 후 자동 로그 아웃

내가 무엇을 가지고

(function($){ 
    $(document).bind("idle.idleTimer", function(){ 
     document.location = "orders.php?action=logoff&session=timeout"; 
    }); 
    //var minute = 60000; //1 minute is 60,000 miliseconds. 
    var minute = 300000; //5 minutes 
    var timeout = minute; 
    $.idleTimer(timeout); 

})(jQuery); 

방법은 사용자가 멀리 이동했을 경우에 내가 서버 측을 구현 할 수 있습니까? 나는 크론을 사용하여 생각했지만 그 내가이 게시물 User Inactivity Logout PHP

를 읽고 난 세션이 여전히 취할 수있는 방법을 볼 수 없습니다

하지 올바른 방법 (IM 생각하지만 어쩌면 메신저 잘못)이 될 것입니다 사용자가 멀리 이동할 경우 효과

답변

2

이동하면 세션이 만료되지 않아 브라우저가 닫히는 경우가 있습니다.

  1. 서버 측에서 확인을 구현합니다.
  2. 세션이 유효하지 않은 경우 400 HTTP 상태 코드를 보내야합니다.이 코드는 JS 코드가 사용자가 더 이상 리소스를 사용할 수 없으므로 로그인 페이지로 리디렉션 할 수 없음을 식별하는 데 사용할 수 있습니다.
  3. 쿠키 만료 값을 응용 프로그램에 더 잘 맞는 것으로 설정하십시오.
1

orders.php 파일에 코드를 추가하기 만하면됩니다.

조치 및 세션 변수 $_GET을 확인하는 몇 가지 if 문을 사용해야합니다. 이러한 요구 사항 모두 다음 충족되면

당신은 당신이 사용하고 싶은 경우에 당신은 또한 모든 페이지로 리디렉션 할 수 session_destroy();

와 세션을 파괴 할 필요가 header();

관련 문제