1

PHP セッションに基づくログイン システムを備えたストリーミング サイトがあります。ユーザーがストリームを開始した後、別の人が同じアカウントに接続している場合、最初のセッションを終了してページを強制終了する必要があります。私が考えることができる唯一の方法は Ajax を使用することですが、それがどれほど安全かはわかりません。ページをphpで出力し、ページがユーザーに提供された後、スクリプトで別のユーザーが同じアカウントでログインしているかどうかを確認し、ページを強制終了する方法はありますか? 出力バッファリングとスリープを使用してみましたが、今のところうまくいきません。

4

1 に答える 1

1

まず、データベースまたは他のストレージシステムのセッションを追跡する必要があります。このデータには、ユーザーへの参照が必要です。そして定期的に片付けてください。

既存のセッションを強制終了すると、そのセッションのユーザーは次のサーバー要求までプッシュされません。したがって、バックグラウンドで、サーバーに「ping」を実行し、失敗するまでajaxリクエストを実行します。失敗した場合は、ユーザーをログインページにリダイレクトします。

今、これは絶対確実ではありません。クライアントは、ping要求を妨害、ブロック、またはリダイレクトする可能性があります。ただし、システム内の別のページにアクセスすると、再度ログインする必要があります。

于 2013-01-09T20:50:39.757 に答える