ユーザーが 5 分間アイドル状態だった場合、PHP Web サイトでユーザー セッションを破棄させたいと考えています。これが発生した場合は、ログアウトした理由を示すメッセージをユーザーに表示し、ログイン ページにリダイレクトしたいと考えています。
これを処理する最善の方法は何ですか?
私はphpとmyadminで実行しています。
ありがとう
アビナッシュ
ユーザーが 5 分間アイドル状態だった場合、PHP Web サイトでユーザー セッションを破棄させたいと考えています。これが発生した場合は、ログアウトした理由を示すメッセージをユーザーに表示し、ログイン ページにリダイレクトしたいと考えています。
これを処理する最善の方法は何ですか?
私はphpとmyadminで実行しています。
ありがとう
アビナッシュ
ページをロードするたびに、タイムスタンプをセッション変数に格納します。ユーザーがページに移動したら、を確認します$SESSION['lastActivity'] < time() - <your idle time>
。trueの場合、「セッションの有効期限が切れました」ページなどにリダイレクトします。そうでない場合は、ページの読み込みを続行します。
「アイドル」時間を意味していると思います。それを計算する必要はありませんが、そのユーザーが行った最後の (認証された) アクセスを保存し、カウンターをリセットする必要があります。通常、特定のタイムスタンプを持つ認証 Cookie を発行する必要があります。Cookie の認証時に、現在の時刻とタイムスタンプを比較します。この差が 5 分などのしきい値よりも大きい場合は、エラー ページが表示されます。ユーザー エクスペリエンスを向上させるために、ユーザーにタイマーを表示して、不意を突かれないようにすることもできます。
PHP の組み込みセッション関数を使用して、セッションの有効期限を 5 分に設定することはできませんか? セッションが存在しなくなった場合にリダイレクトしますか?
ポップアップしてリダイレクトする ax 分タイムアウトを持つ JavaScript 関数を作成します。
また、サーバー上でセッションの有効期限が切れていることを確認してください。これにより、Javascript が利用できない場合、アイドル時間が経過した後にアクションを続行できなくなります。