第三方软件测试机构:简述HTML中标签的rel属性的两个值:noopener和noreferrer

noopener 和 noreferrer 都是 HTML 链接中的安全属性,用于控制浏览器在打开新窗口时的行为。

noopener 的主要作用:
安全防护:防止新打开的页面通过 window.opener 访问原始页面的窗口对象
防止反向标签劫持:新页面无法修改原页面的 URL(比如重定向到钓鱼网站)
性能优化:新页面在独立的进程中运行,不会影响原页面的性能

noreferrer 的主要作用:
隐私保护:阻止浏览器在 HTTP 请求头中发送 Referer 信息
隐藏来源:目标网站无法知道用户是从哪个页面链接过来的
SEO 影响:不会传递推荐权重(PageRank)

两者对比:
noopener 主要关注安全防护,防止 JavaScript 窗口对象被恶意访问
noreferrer 主要关注隐私保护,防止来源信息泄露
noreferrer 在某些浏览器中会自动包含 noopener 的功能

使用场景:
外部链接建议同时使用:rel=”noopener noreferrer”
仅需要安全防护时使用:rel=”noopener”
需要隐藏来源的敏感链接使用:rel=”noreferrer”

现代浏览器变化:
Chrome 88+ 和 Firefox 79+ 默认对所有 target=”_blank” 链接启用 rel=”noopener”
但为了兼容旧浏览器,仍然建议显式添加

对于外部链接,建议总是使用 rel=”noopener noreferrer” 来获得完整的安全和隐私保护。

/14 人阅读/0 条评论 发表评论

登录 后发表评论