javascript - 微信公众号的图片防盗链怎么办?有没有纯前端的方法解决?
PHPz
PHPz 2017-04-11 09:08:41
0
5
1216

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

PHPz
PHPz

学习是最好的投资!

全部回复(5)
阿神

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

Ty80

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

洪涛

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

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

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

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

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

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

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

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

小葫芦

如果是最低劳力层本得解决显示问题,可以用前后端的方式 先用后端跳板

然后用前端的js代码

var imgs=$(".news-editor").find("img"); 
//显示图片的内容都在类为news-editor的层里面,这里用了jquery

for (var i = 0; i < imgs.length; i++) { 
imgs[i].src = "跳板文件地址?url=" + imgs[i].src }
//为每个img标签的src属性加上跳板文件的前缀。

这样只要加个跳板后端文件和在前端模板文件上加一段js代码 即可通用

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!