我什么时候应该使用rel = noreferrer?

时间:2018-06-09 10:13:58

标签: html hyperlink rel

我必须链接其他一些外部网站。

我知道何时使用nofollow。但我不清楚何时应该使用rel=noreferrer

4 个答案:

答案 0 :(得分:2)

简而言之, noreferrer链接类型会在点击链接时隐藏引荐来源信息noreferrer链接类型的链接如下所示:

<a href="http://www.example.com" rel="noreferrer">Click here for more info</a>

如果有人从使用此链接类型的链接到达您的网站,则您的分析无法显示谁提到该链接。相反,它会错误地显示为您的收购渠道报告中的直接流量。

如果您有其他人的网站的外部链接,您不信任,并且您想要隐藏推荐人信息,那么您可以将两者结合使用

<a href="http://example.com/sample_page/" rel="noreferrer nofollow">Other Domain Link</a>

我建议您使用nofollow链接获取以下内容:

  • 评论或论坛中的链接 - 任何包含用户生成内容的内容都可能成为垃圾内容的来源。即使你小心谨慎,事情也会漏掉。
  • 广告&amp;赞助商链接 - 任何旨在作为广告或属于赞助安排的链接必须是无效的。
  • 付费链接 - 如果您以任何方式收取链接(目录提交,质量评估,评论等),nofollow出站链接

答案 1 :(得分:1)

正如@unor所说,单击链接时它将隐藏引荐来源信息。基本上,这是一项隐私保护功能,当您要隐藏用户来自您的网站的链接域的所有者的信息时,就可以对其进行隐藏。

示例:

用户位于您的网站 www.mywebsite.com 上,当有人点击“链接” newsite.com 的所有者时,您会看到<a href="https://newsite.com">Link</a>知道它来自 www.mywebsite.com 。通过设置rel=noreferrer,您可以防止泄露此信息。

一个很好的例子是从21:28 of this conference talk开始。使用服务器端(例如Node.js)时,它被视为good practice。您也可以在Helmet documentation上了解此内容。

答案 2 :(得分:0)

您只需要在私人页面或您不想宣传的页面上使用它。例如。网络邮件或私有错误跟踪器将被视为私有,并且您不想leak any information访问外部链接的网站。

敏感的公共页面(例如医疗信息或其他敏感主题)也可能希望屏蔽引荐来源标头。

答案 3 :(得分:-1)

noreferrer并不会阻止HTTP引荐来源标头,它也会阻止Javascript exploit involving window.opener

  

<a href="http://someurl.here" target="_blank">Link</a>
   看起来很无害,但是有一个漏洞,因为默认情况下,正在打开的页面允许打开的页面通过window.opener回调它。有一些限制,跨域,但仍然可以做一些恶作剧   window.opener.location = 'http://gotcha.badstuff';

使用noreferrer大多数浏览器都会禁止使用window.opener漏洞利用