http - 移除 http referer

标签 http http-headers referrer-policy

是否可以删除或隐藏请求 header 中的 http referer 信息? 我想使用可能在 javascript python 或 django 中的脚本从我的站点删除访问其他站点的用户的 http referrer 信息

例子:

Host    slogout.espncricinfo.com
User-Agent  Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0    
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8    
Accept-Language en-us,en;q=0.5    
Accept-Encoding gzip, deflate    
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7    
Connection  keep-alive
Referer http://slogout.espncricinfo.com/index.php?page=index&level=login

最佳答案

截至 2015 年,这是防止发送 Referer header 的方式:

只需将此添加到网页的头部:

 <meta name="referrer" content="no-referrer" />

这对页面上的 JavaScript 代码发出的链接和 Ajax 请求均有效。

其他有效meta选项包括:

<meta name="referrer" content="unsafe-url" />
<meta name="referrer" content="origin" />
<meta name="referrer" content="no-referrer-when-downgrade" />
<meta name="referrer" content="origin-when-cross-origin" />

• 在此处查看它是否适用于您的浏览器:http://caniuse.com/#feat=referrer-policy

• 请在此处查看规范:http://w3c.github.io/webappsec/specs/referrer-policy/

另请注意,浏览器现在会发送 Origin header (带有 CORS 请求和 POST 请求,请参见此处:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin),其中包括域和端口,据我所知,无法删除。如果你使用 <meta name="referrer" content="origin" />推荐人将包含与 Origin 类似的信息header,从隐私的角度来看已经很好了,因为它将隐藏用户所在的确切页面。

更新:

如果您只想使用 JavaScript 删除引荐来源网址,您可以在发出 Ajax 请求之前动态添加适当的元标记。此 JavaScript 将添加 <meta name="referrer" content="no-referrer" />到网页的标题部分:

var meta = document.createElement('meta');
meta.name = "referrer";
meta.content = "no-referrer";
document.getElementsByTagName('head')[0].appendChild(meta);

关于http - 移除 http referer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6817595/

相关文章:

javascript - Instagram 公共(public) API 的新 CORS 政策?

java - apache httpclient 多次执行

http - 加密 HTTP POST 数据

c# - Android -- 如何通过应用程序访问 ASP.NET 数据库中的数据?

javascript - 从 JQuery header 获取值

http-headers - Access-Control-Allow-Credentials header 到底有什么作用?

c# - 通过重定向进行基本身份验证

javascript - Google 如何在搜索结果点击后设置 HTTP Referrer