【发布时间】:2018-11-19 06:04:43
【问题描述】:
我必须链接一些其他外部网站。
我知道何时使用nofollow。但是我不清楚什么时候应该使用rel=noreferrer。
【问题讨论】:
我必须链接一些其他外部网站。
我知道何时使用nofollow。但是我不清楚什么时候应该使用rel=noreferrer。
【问题讨论】:
简而言之,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 链接获取以下内容:
nofollow 出站链接【讨论】:
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 漏洞利用
【讨论】:
正如@unor 所说,单击链接时它会隐藏引荐来源信息。基本上,当您想向链接域的所有者隐藏用户来自您的网站时,这是一种隐私增强。
例子:
用户在您的网站上www.mywebsite.com,您有一个<a href="https://newsite.com">Link</a>。当有人点击“链接”时,newsite.com 的所有者知道它来自 www.mywebsite.com。通过设置rel=noreferrer,您可以防止泄露此信息。
从21:28 of this conference talk 开始就是一个很好的例子。在使用服务器端(例如 Node.js)时,这被认为是 good practice。您也可以在Helmet documentation 上阅读相关内容。
【讨论】:
您只需要在私人页面或不想宣传的页面上使用它。例如。网络邮件或私人错误跟踪器将被视为私人,您不想 leak any information 到外部链接网站。
敏感的公共页面,如医疗信息或其他敏感主题也可能需要屏蔽引荐来源标头。
【讨论】: