1. ホーム
  2. php

[解決済み] PHPによるHTTP認証ログアウト

2022-04-28 07:20:51

質問

とは何ですか? 正しい HTTP認証で保護されたフォルダーからログアウトする方法を教えてください。

これを実現する回避策はありますが、バグがあったり、特定の状況やブラウザで動作しなかったりするため、潜在的に危険です。そのため、私は正確でクリーンな解決策を探しています。

どのように解決するのですか?

ムー 正しい方法は存在しない ブラウザ間で一貫性のあるものでさえもありません。

に由来する問題である。 HTTP仕様 (15.6項)を参照してください。

既存のHTTPクライアントとユーザーエージェントは、通常、認証を保持します。 の情報を無期限で取得することができます。HTTP/1.1.は、以下のようなメソッドを提供しません。 サーバーは、キャッシュされた認証情報を破棄するようにクライアントに指示することができます。

一方、セクション 10.4.2 と書かれています。

リクエストにすでに認証情報が含まれていた場合、401 レスポンスは、それらの認証が拒否されたことを示します。 クレデンシャルを使用します。401 レスポンスに同じチャレンジが含まれている場合、そのチャレンジは 前のレスポンスで、ユーザーエージェントがすでに 少なくとも一度は認証されたのであれば、ユーザーには というのは、応答で与えられたエンティティは、そのエンティティが には、関連する診断情報が含まれている。

言い換えれば ログインボックスを再度表示させることができるかもしれません。 (として カーステン と言っています)。 しかし、ブラウザはあなたのリクエストに応える必要はありません。 - ということで、この(誤った)機能にあまり依存しないようにしましょう。