0

私のアプリケーションは現在、ログインや要求された各ページ/URIなどのいくつかの基本的な_SESSIONイベントを保存しています。ユーザーがログアウトしたときの追跡を含めるようにイベントログを拡張するように依頼されました。

ログアウトの問題は、ユーザーが専用のログアウトボタンをクリックすることを常に覚えているとは限らないことです。場合によっては、ブラウザを開いたままにしたり、開いているブラウザウィンドウを閉じたり、単にシャットダウンしたりすることがあります。正確なログアウトイベントが常に保証されるとは限りません。

イベントテーブルにアクティビティがない期間をクエリすることで、ユーザーのログアウト時間の大まかなアイデアを得ることができますが、これは大雑把に思えます。

PHPでパッシブログアウトを検出するためのベストプラクティスはありますか?

4

1 に答える 1

1

あなたは基本的にあなたの答えを持っています - 活動がないということは、彼らがログアウトしたことを意味します。

サーバーがそれを処理でき、それが非常に重要な場合は、Javascript タイムアウトを毎分 "ping" に設定できます。ping を受信した場合、ブラウザはまだそのページ上にあり、そうでない場合は、おそらく別の場所に移動しています。「ログアウト」を正確に定義するときは、まだ少し推測作業ですが、セッションが有効な間、ユーザーがページを離れて後で戻ってくる可能性があることを追加してください。

于 2012-11-07T22:32:44.487 に答える