PHP セッションに基づくログイン システムを備えたストリーミング サイトがあります。ユーザーがストリームを開始した後、別の人が同じアカウントに接続している場合、最初のセッションを終了してページを強制終了する必要があります。私が考えることができる唯一の方法は Ajax を使用することですが、それがどれほど安全かはわかりません。ページをphpで出力し、ページがユーザーに提供された後、スクリプトで別のユーザーが同じアカウントでログインしているかどうかを確認し、ページを強制終了する方法はありますか? 出力バッファリングとスリープを使用してみましたが、今のところうまくいきません。
質問する
439 次
1 に答える
1
まず、データベースまたは他のストレージシステムのセッションを追跡する必要があります。このデータには、ユーザーへの参照が必要です。そして定期的に片付けてください。
既存のセッションを強制終了すると、そのセッションのユーザーは次のサーバー要求までプッシュされません。したがって、バックグラウンドで、サーバーに「ping」を実行し、失敗するまでajaxリクエストを実行します。失敗した場合は、ユーザーをログインページにリダイレクトします。
今、これは絶対確実ではありません。クライアントは、ping要求を妨害、ブロック、またはリダイレクトする可能性があります。ただし、システム内の別のページにアクセスすると、再度ログインする必要があります。
于 2013-01-09T20:50:39.757 に答える