Vis*_*ule 5 html hyperlink rel
我必须链接其他一些外部站点。
我知道什么时候用nofollow。但是我不清楚何时应该使用rel=noreferrer。
noreferrer不仅阻止 HTTP 引用标头,它还可以防止涉及 window.opener的Javascript 漏洞
<a href="http://someurl.here" target="_blank">Link</a>
看起来足够无害,但有一个漏洞,因为默认情况下,正在打开的页面允许打开的页面通过 window.opener 回调它。有一些限制,跨域,但仍然可以做一些恶作剧
window.opener.location = 'http://gotcha.badstuff';
与noreferrer大多数的浏览器将禁止window.opener利用
简而言之,noreferrer单击链接时,链接类型将隐藏引荐来源信息。具有noreferrer链接类型的链接看起来像这样:
<a href="http://www.example.com" rel="noreferrer">Click here for more info</a>
Run Code Online (Sandbox Code Playgroud)
如果有人通过使用此链接类型的链接到达您的站点,则您的分析将不会显示谁引用了该链接。相反,它会错误地在您的获取渠道报告中显示为直接流量。
如果您拥有不信任的其他人站点的外部链接,并且想要隐藏引荐来源信息,则可以将两者结合使用
<a href="http://example.com/sample_page/" rel="noreferrer nofollow">Other Domain Link</a>
Run Code Online (Sandbox Code Playgroud)
我建议您使用nofollow以下内容的链接:
nofollow则出站链接正如@unor所说,当点击链接时它会隐藏引用者信息。基本上,当您想要向链接域的所有者隐藏用户来自您的网站时,这是一种隐私增强功能。
例子:
用户在您的网站www.mywebsite.com上,您有一个<a href="https://newsite.com">Link</a>. 当有人点击“链接”时, newsite.com的所有者就知道它来自www.mywebsite.com。通过设置,rel=noreferrer您可以防止泄露此信息。
一个很好的例子是它如何运作,从本次会议演讲的 21:28开始。在使用服务器端(例如 Node.js)时,这被认为是一个很好的实践。您还可以在Helmet 文档中阅读相关内容。