3

HTTP 応答の WWW-Authenticate ヘッダーに応答して、Firefox がモーダルをポップアップすることに気付きました。その後、Firefox は、Firefox が閉じられるまでユーザー名とパスワードを保存します。Web Developerプラグインを使用すると、開発者向けのユーザーがログアウトできるようになります。しかし、これらのキャッシュされた資格情報を失うには、どの HTTP メッセージをブラウザーに送信する必要があるでしょうか?

4

3 に答える 3

3

残念ながら、ユーザーのナビゲーションの開始時に (http 401 応答を介して) 回収した資格情報の保持 (およびサーバーへの各 http 要求の送信) を停止する命令をブラウザーに適切に送信する方法はありません。

于 2009-11-11T19:41:50.753 に答える
2

合理的な回避策を見つけました。少し複雑ですが、非常にうまく機能します。GUID フィールドを持つテーブルを作成しました。それは記録から始まったのではありません。解決策は次のとおりです。

  1. ユーザーは「ログアウト」をクリックします。
  2. ログアウト スクリプトは、新しいテーブルに GUID を追加します。
  3. ログアウト スクリプトは、パラメーターとして GUID を持つ URL にユーザーをリダイレクトします。
  4. ユーザーがパラメーターとして GUID を使用して URL をヒットすると、システムは GUID のテーブルを検索します。
    1. GUID が表にある場合は、GUID を含むレコードを削除し、無効なユーザー名/パスワードの応答コードを指定します (資格情報に問題がない場合でも)。
    2. GUID が表にない場合は、資格情報を検証します。

この新しいテーブルは、ハッカーによってすぐに肥大化する可能性があるため、各ユーザーがテーブルに 1 つのエントリしか持てないようにしてください。タイムスタンプを使用して、バッチ ジョブを使用してテーブルを頻繁にプルーニングすることもできます。

于 2009-12-30T16:17:49.297 に答える