0

ユーザーは Web サイトにアクセスし、複数のタブを開きました。

セッションは次の場合に存続する必要があります:
いずれかのタブがアクティブな場合 (マウスの移動とキーボードでのキーストローク)。

次の場合、セッションは終了し、ログイン ページに自動的にリダイレクトされます

これを行う方法を教えてください。

4

1 に答える 1

0

これは汚い解決策であり、まだ試していませんが、理論的には機能する可能性があります。

  1. ページ上でアクティビティが検出されたら、データベース テーブルにフラグを保存して、ページ上でアクティビティがあったことを示します (おそらく、タイムスタンプを使用してアクティビティが発生した時間を特定し、ユーザー ID を使用してそれが右のセッション)。この保存を行う頻度に応じて、次のような単純なスクリプト ( https://stackoverflow.com/a/3877867/987905 ) を使用して、最新のキーストロークまたは追跡したいものを追跡できます。一定時間 (たとえば 5 分) が経過した後、アクティビティがあった場合はデータベースに保存することを決定します (そうすれば、アクティビティが検出されるたびにデータベースを保存する必要がなくなります)。
  2. セッションがアクティブかどうかを確認する際に、データベースでフラグとタイムスタンプをチェックして、ログインしているそのユーザーのインスタンスでセッションがアクティブであると報告されているかどうかを確認します。生きているか、再認証します。

繰り返しますが、私はこれを試していませんが、最近考えています。これは実行可能な解決策のようですが、舞台裏でデータベースの保存/呼び出しを行うという欠点があり、パフォーマンスが低下する可能性があります。

于 2013-07-11T14:15:53.650 に答える