Safari浏览器URL含userinfo时是否会忽略target="_blank"属性
Safari 带用户信息URL跳转行为说明
- 你观察到的跳转异常属于Safari内置的安全防护机制,针对的是
https://<用户名>@<域名>这类携带明文用户认证信息的URL场景 - 该机制的运行规则是:只要URL中包含@前缀的用户凭证段,无论链接是否设置了
target="_blank"属性,Safari都会强制忽略新标签页打开规则,直接在当前标签页完成跳转 - 设计该规则的核心目的是防范钓鱼攻击:避免恶意站点通过新标签页跳转的方式,在URL中拼接虚假身份凭证信息,诱导用户误以为已经完成目标站点的登录验证,进而泄露账号、支付等敏感数据
适配建议
目前该规则是WebKit内核的强制安全策略,所有iOS、iPadOS、macOS端的WebKit系浏览器都会遵循该限制,没有前端层面的绕过方案。如果你的站点确实有跳转带用户凭证URL的需求,建议调整实现逻辑,比如将凭证信息放在请求头而非URL中,或者提前给用户弹出跳转提示后再通过location.assign触发跳转。
内容的提问来源于stack exchange,提问作者Jason Hocker
相关产品推荐
相关产品推荐

