如何确保AuthName适用于所有浏览器?

IMB*_*IMB 6 apache .htaccess google-chrome .htpasswd

下面的代码似乎在Firefox,IE,Safari中显示文本"HELLO WORLD",但在Chrome中则不行.

<Files wp-login.php>
AuthType basic
AuthName "HELLO WORLD"
AuthBasicProvider file
AuthUserFile /home/.htpasswd
Require valid-user
</Files>
ErrorDocument 401 "Authentication required"
Run Code Online (Sandbox Code Playgroud)

如何确保AuthName适用于所有浏览器?

Álv*_*lez 7

AuthName指令在相应的标头中设置realm参数,如下所示:

\n\n
WWW-Authenticate: Basic realm="HELLO WORLD"\n
Run Code Online (Sandbox Code Playgroud)\n\n

我发现了 2015 年 10 月的 Chromium 票证,其中报告了与 HTTP 身份验证相关的中间人攻击:Issue 544244 - HTTP basic authcredentials Prompt should make the origin out more out。在讨论过程中,有人指出领域中的文本不可信,可用于网络钓鱼攻击,诱骗用户向第三方泄露密码。我不是安全专家,但我知道代理可以注入标头 \xe2\x80\x94 并且通常会注入 \xe2\x80\x94 因此问题。

\n\n

显然,该领域因此从身份验证对话中删除,并且更改最终被移植到 Chrome。您可以查看不要在基本身份验证对话框中显示不可信的字符串代码审查以了解更多详细信息。

\n

  • 我今天在修改 Apache 配置时注意到了这一点。不幸的是,即使使用加密连接也不会显示 (3认同)