我们承认,出于安全或隐私原因,我希望将referrer policy全局设置为.htaccess
。
例如,使用Apache的Header always set Referrer-Policy no-referrer
&#39>
web.config
或IIS&#39; <configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Referrer-Policy" value="no-referrer" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
&#39; S
https://validator.w3.org/
换句话说,我希望对每个网页全局实施此策略,并在服务器级别强制执行此策略。
但是,对于一个特定的域名(例如url
),我想发送引荐来源(例如,使用方便的https://validator.w3.org/check?uri=referer
link type 'norefferer'
)。
我可以使用实验referrerpolicy
attribute of links,但我不知道该属性支持得多好。我不知道这样的属性是否可以覆盖服务器的设置。
{{1}}属性seems to be well supported,但我希望实现相反的目标!
除了指向特定域的链接外,我怎样才能全局禁止发送引荐来源?
免责声明:(此变体)该问题已发布在webmasters.stackexchange.com上。尽管有赏金,它在2周内只有100次观看,只提供了one answer。这回答了更多的概念证明&#34;比其他任何东西,并没有覆盖&#34; 它是否覆盖了服务器的配置?&#34;问题的方方面面。
答案 0 :(得分:3)
由于Referrer-Policy: no-referrer
标头会指示用户代理根本不发送Referer
标头,因此您无需触及已投放的内容即可。在通常情况下,服务器不知道内容所包含的链接类型,Referrer-Policy
标题的选项仅处理请求的来源。
我认为唯一可行的选择是重写内容。由于广泛支持noreferrer
属性,因此您可以使用Apache's mod_substitute。
您需要制定合适的正则表达式,以匹配要包含noreferrer
属性的链接。像<a\s+[^>]*href="(http://)?www.google.com[^"]*">
这样的内容会匹配指向Google主页的a
标记。