本文摘要
`rel="noopener noreferrer"`是HTML中的属性设置,用于提升链接安全性。`noopener`防止新页面通过`window.opener`访问原始页面,避免跨站脚本攻击风险;`noreferrer`防止浏览器发送Referer头部,保护用户隐私。建议同时使用这两个属性,以确保用户点击链接时的安全性。在HTML链接中设置此属性,可有效提升网页安全性。
`rel="noopener noreferrer"` 是HTML中的一个属性设置,用于增加链接的安全性。当你在一个网页中创建一个指向另一个网页的链接时,这个属性可以帮助防止某些潜在的安全风险。
rel="noopener"

`noopener` 是一个用于防止新打开的窗口或标签页通过 `window.opener` 属性访问到原始页面(即包含链接的页面)的JavaScript对象的属性。如果不设置这个属性,那么新打开的页面可能会使用 `window.opener` 来读取或修改原始页面的内容,这可能会导致一些安全问题,如跨站脚本攻击(XSS)。
rel="noreferrer"
`noreferrer` 是一个用于防止浏览器发送 HTTP Referer 头部的属性。Referer 头部通常包含了用户是从哪个页面跳转到当前页面的信息。在某些情况下,这可能会泄露用户的隐私或敏感信息。通过设置 `noreferrer`,你可以确保浏览器不会发送这个头部,从而增加用户隐私的保护。
结合使用
通常,为了增加安全性,建议将 `noopener` 和 `noreferrer` 一起使用,即 `rel="noopener noreferrer"`。这样可以同时防止通过 `window.opener` 的访问和防止发送 Referer 头部。
示例
下面是一个使用 `rel="noopener noreferrer"` 的HTML链接示例:
<a href="https://example.com" target="_blank" rel="noopener noreferrer">点击访问</a>
在这个示例中,当用户点击链接时,会在一个新的浏览器窗口或标签页中打开 `https://example.com`,并且由于设置了 `rel="noopener noreferrer"`,这个新页面将不能通过 `window.opener` 访问原始页面,同时浏览器也不会发送 Referer 头部。
