小程序的防盗链 VS 反盗链 - 总结篇>最近做小程序的时候,产品要求做防盗链处理,特意网罗了一下,貌似都只是一些手段而已。
抛砖总结一篇,仅供参考。
一、防盗链
1. 事件的起因
- 为何要设置小程序的防盗链? 先看一篇文章了解一下:事件的起因!
- 参考文章:谈谈网站防盗链
( a ) 什么是防盗链系统
( b ) 窥视防盗链
( c ) 以子之予攻子之盾,防盗链的破解
- 参考文章:浅谈网站防盗链技术 - 等级划分
常见的防盗链系统,一般使用在图片、音视频、软件等相关的资源上。
2. 小程序也是有个域名的
小程序也是有个域名的,程序的域名:servicewechat.com
- 查看介绍:引入文章
3. 小程序中图片防盗链白名单设置
开启防盗链后,小程序访问就不显示图片了。如何解决?
-
在白名单中添加
servicewechat.com
就行了
就是添加servicewechat.com
域名到许可域名中,就好了。- 我们在进行小程序开发的时候,接口中的图片如果实现了防盗链,那么可能图片无法显示。
- 如果不防盗链的话,万一被人抓取了接口,直接使用了我们的图片,那么大量的流量将被使用。
- 所以我们要给小程序开启白名单,让图片在小程序中能够正常显示。
一般建议 支持允许 空 Referer
,然后把 servicewechat.com
这个域名加入白名单即可。
二、反盗链
针对微信的防盗链,如何进行反盗链
处理?
思路:
// 参考原码 function showImg(url, id) { var frameid = 'frameimg' + Math.random(); window.img = '<img id="img" src=\''+url+'?'+Math.random()+'\' /><script>window.onload = function() { parent.document.getElementById(\''+frameid+'\').height =document.getElementById(\'img\').height+\'px\'; }<'+'/script>'; $("#"+id).html('<iframe id="'+frameid+'" src="javascript:parent.img;" frameBorder="0" scrolling="no" width="100%"></iframe>');
以上就是关于 “ 小程序的防盗链 VS 反盗链 - 总结篇 ” 的全部内容。