gpt4 book ai didi

http - 为什么现代 Web 浏览器不再显示用于 HTTP 身份验证的 "realm"值?

转载 作者:行者123 更新时间:2023-12-05 05:56:05 25 4
gpt4 key购买 nike

当使用 HTTP 身份验证托管网站时,如果客户端未通过身份验证,服务器将发送 401 未授权响应,包括 WWW-Authenticate header .此 header 中的可选指令是 realm:

A string describing a protected area. A realm allows a server to partition up the areas it protects (if supported by a scheme that allows such partitioning), and informs users about which paricular username/password are required.

(强调我的)

假设 www.example.com 需要授权并配置了 Test Area 的领域值。过去,大多数 Web 浏览器在收到此类响应时会显示一个登录对话框,并说出类似“需要授权。www.example.com 的站点显示'测试区域'。”

但是(至少是最新版本的)Chrome、Firefox 和 Edge 现在都只显示一条通用消息,不包括领域值。有趣的是,IE 仍然显示领域值(下面的屏幕截图,所有 Windows 10 64 位):

Chrome (v93.0.4577.82)

chrome no realm

火狐 (v92.0)

firefox no realm

边缘 (v93.0.961.52)

edge no realm

IE (v11.1411.18362.0)

IE has realm

我很确定 Firefox 和 Edge 曾经显示过它。 Chrome 可能有一段时间了,但似乎是第一个停止的。由于所有现代浏览器都没有显示它,我认为有一些原因......?我在整个互联网上搜索过,但无法弄清楚。我有一个用例,在该用例中,显示领域会对用户有所帮助,因为这样可以更清楚地说明他们需要使用哪些特定凭据。我知道您不能强制浏览器显示它,但这很烦人。但是,如果有正当理由不显示它,我会接受。

最佳答案

原因是,通过将一些误导性信息放入该领域,这可能会被滥用于网络钓鱼攻击。 http 身份验证的登录对话框是受信任的浏览器 UI 的一部分,让服务器有机会修改该 UI - 即使只是显示文本 - 也是一种安全风险。

关于http - 为什么现代 Web 浏览器不再显示用于 HTTP 身份验证的 "realm"值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69303610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com