avatar

tetsai

原创声明

本文由tetsai原创,转载请注明来源

翻译自:https://stackoverflow.com/questions/6817595/remove-http-referer

阻止你的web界面发送Referer header:

只需要添加下面这个代码,放在你的网页的<head></head>之间

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

还有更多的操作,可以设置某种条件下屏蔽Referer:

<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" />

哦~要注意的是,当浏览器发送带有CORS请求和POST请求时(参见: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin) 包括域名和端口,就目前我来看Referer是删不掉了噢

如果你使用了 <meta name="referrer" content="origin" />那么referrer就会包含类似 Origin 的协议头信息, 这已经很不错了,因为它已经隐藏了用户所在的确切网页

更新:

如果想删除referrer协议头,应该在Ajax请求之前添加 <meta name="referrer" content="no-referrer" /> 放在你<head></head>之间(以下代码可以动态添加meta完成以上任务

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注