2

私が作成した多くの Web サイトでは、すばやくアクセスできるようにユーザー データがセッションに保存されています。問題は、管理者がユーザーのアカウントを削除または無効にすることを選択した場合、ユーザーがセッション Cookie を保持している限り、技術的に「ログイン」したままになることです。

ユーザーが変更を加える前にデータベース チェックを行う、ログイン認証機能にデータベース チェックを追加するなど、いくつかの回避策がありますが、これらは私が望むほど効率的ではありません。

私の質問は、ユーザー ID のように、セッションに保存されているデータに基づいて、別のユーザーからユーザーのセッションを閉じる方法はありますか? そうでない場合、データベース検証なしでセッション データを内部で使用することが安全でないと見なされるのはいつですか?

データベース セッションはかなり簡単に追跡できるため、カスタム データベース実装ではなく、組み込みの $_SESSION 変数を使用することを前提として、この質問を行っていることに注意してください。

セッションデータにアクセスするたびに外部データベースに接続する待ち時間を追加するよりも、セッションデータをローカルサーバーに保持する方がはるかに効率的であるため、データベースの使用を避けようとしています。

4

4 に答える 4

1

あなたが探しているものを達成するために以下を使用してみてください:

于 2013-02-21T16:12:38.043 に答える
1

試しましたsession_destroyか?

セッションの破棄

于 2013-02-21T15:45:23.473 に答える
0

他の誰かのコンピュータのセッションを破棄することはできません。本当にやりたい場合は、アカウントがまだ利用可能かどうかをすべてのページで確認する必要があります。またはその他の回避策。

于 2013-02-21T15:58:19.953 に答える
0

プロセスの最後に使用できますsession_destroyが、さらに:

ユーザーをログアウトするなど、セッションを完全に強制終了するには、セッション ID も設定解除する必要があります [そして] セッション Cookie を削除する必要があります。

余談ですが、PHP ドキュメントの「良い」点の 1 つは、絶対に笑ってもらえることです。

于 2013-02-21T15:45:13.253 に答える