2012-04-26 5 views
0

jqueryを使用してアイドルタイムアウトを設定するいくつかの例を検索して見つけました。jquery PHPを使用した自動ログアウトアイドルタイムアウト

1 - Idle Timeout By Eric Hynds DEMO

2からIdle Timer By paulirish

3からFire Event When User is Idle/DEMO HERE

4 - detect user is active or idle on web page

5からComet Long Polling with PHP and jQuery

6からdetacting idle timeout javascript

...そして、これらの例番号1の間にはいくつかの他の同様の例

私はX分後のいずれかの確認の警告と自動ログアウトユーザー(logout.phpまたは任意のURL)に必要なので、私は必要のために良いです。この方法はサーバーには適していません。問題は:このjqueryコードは、任意のURLにpingを送信します:リクエストOKテキストのためのループ/プール中のkeepAlive.php。放火犯の画面を参照してください。

enter image description here

この問題を解決する方法? 他の例では、Idle/No Idleが表示され、アラートの確認や自動ログアウト(logout.phpや任意のURL)ではjquery/Phpを使用してアイドルタイムアウトを選択するのが本当に便利です。

おかげ

答えて

3

私は秒のX番号の後にログアウトページへの自動直接ユーザーにヘッド部内のメタリフレッシュ要素を使用します。以下は、自動的に同じページに滞在の20分後にログアウトページにユーザーを送信します:

<meta http-equiv="refresh" content = "1200; url=http://www.site.com/user/logout"> 

これは動作しますが、(主に)、クロスブラウザをサポートされるJavaScriptが有効にされているに依存していないと非常に簡単です実装する。

あなたのサイトに長期間同じページに留まるユーザーがいる場合(たとえば、JSを通じてやりとりする)、このソリューションはうまくいきません。また、リダイレクトが行われる前にJSコードを実行することも許可していません。

+2

最も簡単な解決策は、これはOPの要件を満たしているからです.1つは簡単ですから。 –

1

JavaScriptとjQueryを使用して簡単な自動ログアウト機能を構築するために適用したアプローチは次のとおりです。このスクリプトは、マウスの動きが25分以内に検出されなかった場合に自動的にログアウトページに移動するWebページで使用するために作成されました。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 

<script type="text/javascript" language="javascript"> 
    var idleMax = 25; // Logout after 25 minutes of IDLE 
    var idleTime = 0; 

    var idleInterval = setInterval("timerIncrement()", 60000); // 1 minute interval  
    $("body").mousemove(function(event) { 
     idleTime = 0; // reset to zero 
}); 

// count minutes 
function timerIncrement() { 
    idleTime = idleTime + 1; 
    if (idleTime > idleMax) { 
     window.location="LogOut.php"; 
    } 
}  
</script> 
関連する問題