如何让浏览器在访问链接时不要带上referer
我们在从一个网站点击链接进入另一个页面时,浏览器会在header里加上Referer
值,来标识这次访问的来源页面。但是这种标识有可能会泄漏用户的隐私,有时候我不想让其他人知道我是从哪里点击进来的,能否有手段可以让浏览器不要发送Referer
呢?
我试过用window.location.href='...'
来跳转,也还是有Referer
。大家有什么好办法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
如果如果是新窗口打开,可以使用如下代码:
基于HTML标准,可以在a标签内使用
rel="noreferrer"
来达到这一目的。目前大部分基于Webkit的浏览器已经支持。
提供跨浏览器支持的更好的办法是使用一个第三方的库noreferrer.js,它可以自动识别浏览器并选择最优方案。
补充
Opera并没有提供可以实现不发送referrer的方法,noreferrer.js的解决方案是利用google的url中转。在国内的网络环境下,你懂的。。。
可以自己搭建一个跳转的页面,或者用其他站点的url跳转接口。
注意:不带Referer头的话,百度统计js会拒绝返回正常内容。
有个折中的办法
// 例子, 比如index.html
// 这个是中间文件, redirect.html
这样只要点击rel里带hide_ref里链接, 都会生成一个iframe, iframe里读取location.hash(再重置), 然后top.location.href做转向, 无论从哪个地址点过去, 都是那个iframe的url
今天看查看blog refer的时候,发现很多的是来自跳转页的,所以觉得LZ的解决方法可以跟google学学,弄一个跳转页,这样别人只知道是从一个跳转页过来的,不知道具体是那个网页了。。
https://chrome.google.com/web...
提供一个技巧:
在 Chrome 浏览器中开一个 隐身窗口 访问你需要访问的地址。