You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么谷歌Chrome支持URL中@符号拼接域名的写法?存在安全风险吗?

带@符号的URL在Chrome中的解析逻辑与安全设计

这个行为本质是Chrome严格遵循通用URL解析规范的结果。

核心解析规则

在标准URL结构定义中,@是「用户信息段(userinfo)」和「主机段(host)」的固定分隔符。完整的标准URL结构可以拆解为:
协议://[用户信息@]真实主机地址[:端口]/资源路径?查询参数#锚点
你提到的示例地址https://www.wikipedia.org@google.com,按照规范拆分后的实际解析结果为:

  • 协议段:https
  • 用户信息段:www.wikipedia.org
  • 真实主机段:google.com
    因为Chrome会把主机段的地址作为实际访问目标,因此才会直接跳转到google.com,并不是把www.wikipedia.org识别为要访问的域名。

该结构的最初设计目的

URL中设置用户信息段,最早是为了适配早期网络的使用场景:在FTP、早期HTTP服务的访问流程中,用户可以直接在URL里内嵌身份凭证,不需要单独通过弹窗输入账号密码就能完成服务访问,这类写法在网络发展初期是被广泛认可的合规用法。

面对钓鱼风险的防护逻辑

你提到的“用户被引导至非预期站点”确实是这个URL结构带来的经典钓鱼漏洞,但Chrome并没有直接将这类URL判定为无效,背后的考量非常务实:

  • 如果直接把带@的URL全部判定为无效,会破坏标准兼容性,导致大量仍在合法使用该结构的旧服务、开发场景出现访问故障
  • 与其一刀切封停,Chrome针对该风险做了多层防护优化:
    • 地址栏渲染时,永远将真实主机段做高亮显示,前面的用户信息段会使用低对比度灰色展示,不会让用户误以为前面的字符是站点域名的一部分
    • 当检测到用户信息段中包含大众熟知的可信站点关键词时,会弹出显著的安全提示,明确告知用户当前即将访问的真实站点地址,避免被混淆性文本误导
    • 会自动拦截所有在用户信息段内嵌明文账号、密码的访问请求,从根源上避免明文凭证通过URL传输造成的泄露风险

内容的提问来源于stack exchange,提问作者user3500000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 21:45:08