你们是如何解决防盗链图片无法显示的?

2019-07-22 09:14:05 +08:00
 letitbesqzr

问题

现在新浪图床也开启防盗链了,各种网站上越来越多的图片显示不出来了,想依靠插件来解决问题,恢复正常浏览

自己尝试的方案

chrome 插件

利用插件 Smart Header 可以配置自动规则,请求 url 中包含 sinaimg.cn 的时候,删除头中的referer,或者自定义,规则可以很灵活的自定义。

但是问题在于,该插件使用了 chrome 的webRequest api , WebRequest 文档中写到在 chrome 72 以后,需要在opt_extraInfoSpec 指定 extraHeaders 才能够修改Accept-LanguageAccept-EncodingRefererCookie 这些头了,该插件作者也没更新了。

Starting from Chrome 72, the following request headers are not provided and cannot be modified or removed without specifying 'extraHeaders' in opt_extraInfoSpec:

  • Accept-Language
  • Accept-Encoding
  • Referer
  • Cookie

利用 Tampermonkey 脚本

也见到有其他 chrome 插件,可以把所有的referer信息都给删了,但是有些网站会判断该头信息,比如dnspod 登陆梅林路由器登陆 , 直接删除会导致这些网站无法正常使用。防盗链对我造成最大的影响就是在inoreader中各种图片显示不出来,在网上看到一段这样的脚本

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

生效域在http*://*.inoreader.com/* , 在 meta 中插入 no-referrer 的信息,即可正常的浏览。

其他

各位 v 友有没有其他的解决方法?

2769 次点击
所在节点    Chrome
3 条回复
delectate
2019-07-22 09:23:13 +08:00
浏览器插件:refControl

或者油猴在页面插<meta name="referrer" content="never">
opengps
2019-07-22 09:24:51 +08:00
表示不太敢引用他人图片,各大云都有对象存储免费额度,个人用量有限,何必非要图片放在他处,将来丢了都没法找回
letitbesqzr
2019-07-22 09:28:49 +08:00
@delectate #1

refControl 似乎有没有 chrome 插件?

目前使用的方案就是在 meta 插 , <meta name="referrer" content="never"> , 但是不知道有没有更灵活的方式,有些网站的防盗链 禁止了空 referrer ...

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

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

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

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

© 2021 V2EX