私は自分の会社のスタッフ記録システムを開発しました。私が直面している問題は、スタッフがシステムをログオンしたままにしておき、ログアウトするのを忘れることです。私は、システムを10分間放置した後、ユーザーがログアウトするようにしたい。私はそれについてどうやって行くのかについて事実上考えていません。私はあなたの助けが必要ですアプリケーションをログアウトするためのカウントダウンタイマー
答えて
ここにいくつかの方法があります。まず、一定時間が経過すると、サーバーはセッションをクリアする必要があります。サーバーには、セッションをリフレッシュする何らかの方法があります。通常は、セッションをリフレッシュしてアクティブに保つための単純なAPIエンドポイントです。
これと組み合わせて、サーバーセッションが終了してもフロントエンドセッションで問題が発生しないようにするには、数分ごとにセッション値を要求するタイマーをJavaScriptで使用します。そのセッションが非アクティブになった場合は、モーダルまたはポップアップを表示してセッションを続行するか、セッションが期限切れになったことをユーザーに知らせるページに自動的にリダイレクトする必要があります。
javascriptでは、ソリューションは次のようになります。
function confirmSessionRefresh(){
if(confirm('Your session will expire in 1 minute. Click Ok to continue or cancel to log out in 1 minute.')){
fetch('/api/refreshsession');
setTimeout(confirmSessionRefresh, 540000);
}
}
setTimeout(confirmSessionRefresh, 540000); // 9 minutes (to allow 1 minute to respond to the prompt.
私はこれが答えよりもむしろコメントとして適しているように感じます。 – GrumpyCrouton
また、私のdownvoteではありません。 – GrumpyCrouton
キーストロークのようなページのアクティビティを考慮する必要があります。 –
jQuery Idleを使用してこれまで達成しようとしてきた機能に似た機能を構築しました。マウスとキーボードの動作を検出し、ユーザーがまったく使用していないときにのみタイムアウトします。
https://github.com/kidh0/jquery.idle
例:
$(document).idle({
onIdle: function(){
windlow.location.href = '/logout.php';
},
idle: 10000
})
あなたはこの種のコードを使用することができます。
<!-- //for 10 minutes // the easiest one!-->
<meta http-equiv="refresh" content="600;url=logout.php" />
念頭にlogout.phpを保つには、リダイレクトindex?stayedToLong=yes
からindex.phpページで
session_start();
//measure the time
$_SESSION['loggedTime'] = time();
//10 minutes
if($_SESSION['loggedTime'] < time()+10*60)
{
session_destroy();
unset($_SESSION);
header("Location: 'index.php?stayedToLong=yes');
exit;
}
のようなPHPの何かにこの
session_start();
session_destroy();
unset($_SESSION);
header("Location: 'index.php?stayedToLong=yes');
exit;
またはセッションのようないくつかのコードが必要ですこのようなページを表示することができます。
if(isset($_GET['stayedToLong']) && $_GET['stayedToLong']=='yes')
{
echo 'You have are disconnected after 10 minutes';
}
- 1. ユーザーがログアウトしてもPHPのカウントダウンタイマーが実行される
- 2. リフィルのためのカウントダウンタイマーの方法は?
- 3. カウントダウンタイマーを表示するためのtkinterラベルの設定
- 4. 私のウェブサイトを起動するためのカウントダウンタイマー
- 5. アプリケーションの自動ログアウト
- 6. ログイン後にログアウトするためのログインリンクを変更する
- 7. Flaskログインで他のアプリケーションがログアウトする
- 8. C#アプリケーションの再起動後もカウントダウンタイマー
- 9. ブラウザでSpringアプリケーションのログアウトを避ける
- 10. ユーザをログアウトするためにクッキーを設定する方法
- 11. 私のアプリケーションからログアウト
- 12. ログイン/ログアウトの移行を管理するための提案
- 13. セッションのためにログアウトするとPHPエラーが発生する
- 14. asp.net ajaxアプリケーション内でjavascriptカウントダウンタイマーを使用する
- 15. カウントダウンタイマーの前にカウントダウンタイマーを追加する(swift3)
- 16. Windows認証アプリケーションからログアウト
- 17. カウントダウンタイマーは、ボタンをクリックしてアクティブにするためにPHPを使用
- 18. カウントダウンタイマー
- 19. カウントダウンタイマー
- 20. IdentityServer 4 - すべてのMVCアプリケーションをログアウトするには?
- 21. Springアプリケーションのログアウトの処理方法
- 22. アプリケーションからのiPhoneのログアウト問題
- 23. カウントダウンタイマーを再開するandroid
- 24. JavaScriptアプリケーションのためのアプリケーション
- 25. カウントダウンタイマーが0になった後にカウントダウンタイマーに「0」を加えます。
- 26. $ Interval()を使用した角度のカウントダウンタイマー
- 27. Apacheログアウトをdjangoログアウトと同期する
- 28. 画像をスキャンするためのアプリケーション
- 29. WP7アプリケーションをテストするためのベストユニットテストフレームワーク
- 30. JavaScriptアプリケーションをアップグレードするためのガイド
ページが読み込まれるたびにjavascriptカウントダウンタイマーを開始します。特定の時間だけタイマーがオンになっている場合は、ログアウトページにリダイレクトしてセッション変数をクリアします。ユーザーがページを切り替えると、javascriptタイマーが開始されます。ページが決して再ロードされない場所へのjavascriptを使ってページ操作が多い場合は、問題があるかもしれません。この場合は、ページ上で実行中の関数もすべてタイマーを開始します。 – GrumpyCrouton
最後にリフレッシュされてからのセッション有効期限X分を設定します。 – mkaatman
ここをクリックして[30分後にPHPセッションを期限切れにする方法は?](https://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30- minutesutes ) – q81