外链图片时,浏览器要发送 referer ,有无在页面处理的方法,让用户浏览时,不发送 referer 字段给原网站

2015-01-02 15:54:52 +08:00
 leyle
A 网站引用了 B 站的 图片 <img src="b_url" />,
然后在 A 站载入这个图片时,浏览器会自动在请求头加上 referer 字段,导致 B 站给了个盗链标识图片来,有无办法在页面上进行处理(不是用户浏览器上),让用户打开 A 站浏览其引用的 B 站的图片,不会有那个 referer 字段?
noreferre.js 似乎没用。
8369 次点击
所在节点    Python
8 条回复
aaaa007cn
2015-01-02 16:08:26 +08:00
最简单就是上 https
或者你找台服务器代理一下
https://en.wikipedia.org/wiki/HTTP_referrer#Referer_hiding
leyle
2015-01-02 16:14:30 +08:00
@aaaa007cn 看样子上 https 比较靠谱,多谢。
aaaa007cn
2015-01-02 18:55:28 +08:00
https 只是不发送 referer

对于某些只有特定 referer 才返回正确内容的网站
如果期望不需在浏览器端做任何配置
那只能通过代理的方式来伪造 referer

对于你说的 noreferre.js 有点好奇
查了下 https://github.com/knu/noreferrer
原来就是利用了 wikipedia 上提到的 html5 的 rel = "noreferrer"、meta refresh 和 data 大法,外加 google redirector 补刀
不过只对超链接有效
msg7086
2015-01-02 18:58:14 +08:00
如果随便就能破掉防盗链,那还叫防盗链么?
leyle
2015-01-03 13:12:35 +08:00
@aaaa007cn 配置了 https 后,生效了,但是网站样式居然就变化了,因为页面内部引用的是外部的图片链接,所以浏览器还警告说页面不安全,这种有无办法去掉这个警告呢?并且奇怪的是,配置了 https,页面样式就丢掉了,我已经把样式引用文件(css、js)存在本地了。
leyle
2015-01-03 13:19:50 +08:00
@aaaa007cn 额,我自己二了,有一个 css 忘记存储到本地了,没问题了,多谢,打扰了。
aaaa007cn
2015-01-03 15:54:32 +08:00
https 引用 http 图片导致惊叹号大概无解了吧
除非用 https 来代理,但这又回到开头了
不过起码不会像 js、obj 那样被默认阻止掉
lsj8924
2018-01-03 21:32:42 +08:00
<meta name="referrer" content="never">

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/158622

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX