5

ブラウザで利用できるネイティブのログイン プロンプトを利用しようとしています。

ネイティブ ログイン プロンプト

また、 Steven Sanderson のブログ投稿をフォローしています。

ブログで述べたように、ユーザーがログインの詳細を入力すると、ブラウザはその後のAuthorization: Basic username:passwordすべてのリクエストでヘッダーをログイン URL に送信します。これは、ユーザーがログアウトしてもブラウザー ウィンドウを閉じない場合、次にログイン ページにアクセスしたときに、ログイン ページにアクセスしたときに自動的にログインされることを意味します。ブラウザは、ブラウザが終了するまで認証の詳細を効果的に保存します。これにより、アカウントが不正なアクセスにさらされたままになります。

ユーザーが詳細を再入力しないと再度ログインできないように、ブラウザーに認証情報を忘れさせる方法はありますか?

4

1 に答える 1

11

ウィキペディアに書かれているように:

既存のブラウザーは、タブまたはブラウザーが閉じられるか、ユーザーが履歴を消去するまで、認証情報を保持します。[1] HTTP は、サーバーがこれらのキャッシュされた資格情報を破棄するようにクライアントに指示する方法を提供しません。これは、ブラウザを閉じずにサーバーがユーザーを「ログアウト」する効果的な方法がないことを意味します。これは重大な欠陥であり、ブラウザーの製造元は、「ログアウト」ユーザー インターフェイス要素 (RFC 1945 で言及されていますが、ほとんどのブラウザーでは実装されていません) または JavaScript で利用可能な API をサポートするか、HTTP をさらに拡張するか、または次のような既存の代替技術を使用する必要があります。 URL に推測できない文字列を含む SSL/TLS 経由でページを取得する。

一般的には仕方がないようです。

于 2011-10-16T19:25:05.633 に答える