微信公众号的图片防盗链怎么办?有没有纯前端的方法解决?

百度试了几个方案,不知道是不是微信最近封了还是啥的,不管用,有木有最近解决过这个问题的啊

阅读 7.4k
5 个回答
新手上路,请多包涵

我也在找相关的答案,找到心好累,好多都是不能用的,感觉自己基础还是太差了

纯前端不可能的,跨域图片请求一定会带上referer头,服务器通过这个来判断是否是盗链。
用后端中转一下应该可以,但是除此之外微信好像也会有防盗链措施,之前我在公众号看漫画,没看完,锁屏,10分钟后刷新页面就提示我请在微信浏览器打开了。。。

前端不太清楚,后端有个方法比较可行,缺点是图片流量也会走自己的服务器。

header('Content-type: image/jpeg'); 
echo file_get_contents('http://www.qq.com/abc.jpg');

我说一种办法,不过你可能不会喜欢的……

所谓防盗链,就是不希望非自己的网站或页面去使用自己网站的资源。

一般做法是后端处理referer头,虽然并不完美但可以阻挡多数问题。

如果你要纯前端解决的话,那么首先在你自己的页面上也不能有src。

那么思路就很简单了,在前端打开页面时,自己往该有图片的地方画图片,canvas或者其他方式。而且这个方式还是会传图片真实地址的,所以你还要自己做加密处理。

100%纯前端的方法是不可能,因为你后端用url存着,外部就有办法看到这个url。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题