百度试了几个方案,不知道是不是微信最近封了还是啥的,不管用,有木有最近解决过这个问题的啊
学习是最好的投资!
我也在找相关的答案,找到心好累,好多都是不能用的,感觉自己基础还是太差了
纯前端不可能的,跨域图片请求一定会带上referer头,服务器通过这个来判断是否是盗链。用后端中转一下应该可以,但是除此之外微信好像也会有防盗链措施,之前我在公众号看漫画,没看完,锁屏,10分钟后刷新页面就提示我请在微信浏览器打开了。。。
referer
请在微信浏览器打开
前端不太清楚,后端有个方法比较可行,缺点是图片流量也会走自己的服务器。
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代码 即可通用
我也在找相关的答案,找到心好累,好多都是不能用的,感觉自己基础还是太差了
纯前端不可能的,跨域图片请求一定会带上
referer
头,服务器通过这个来判断是否是盗链。用后端中转一下应该可以,但是除此之外微信好像也会有防盗链措施,之前我在公众号看漫画,没看完,锁屏,10分钟后刷新页面就提示我
请在微信浏览器打开
了。。。前端不太清楚,后端有个方法比较可行,缺点是图片流量也会走自己的服务器。
我说一种办法,不过你可能不会喜欢的……
所谓防盗链,就是不希望非自己的网站或页面去使用自己网站的资源。
一般做法是后端处理referer头,虽然并不完美但可以阻挡多数问题。
如果你要纯前端解决的话,那么首先在你自己的页面上也不能有src。
那么思路就很简单了,在前端打开页面时,自己往该有图片的地方画图片,canvas或者其他方式。而且这个方式还是会传图片真实地址的,所以你还要自己做加密处理。
100%纯前端的方法是不可能,因为你后端用url存着,外部就有办法看到这个url。
如果是最低劳力层本得解决显示问题,可以用前后端的方式 先用后端跳板
然后用前端的js代码
这样只要加个跳板后端文件和在前端模板文件上加一段js代码 即可通用