kangle利用path_sign key做动态防盗链 适合app移动客户端过期时间戳签名防护,cdnbest api防护
图中file框框的意思是是否带文件名,
比如 /test/aaa.html
不勾path只算到目录 /test/
勾选后path算目录+文件名 /test/aaa.html
算法1不带IP验证:
md5(path+key+expire)
举个例子:
md5(/11.jpgtest1469951574)
http://localhost/11.jpg?_KS=1678c4fd82b762ab304a40dab1e181ae&_KE=1469951574
-------------------------------
算法2带IP验证:
md5(path+key+expire+ip)
举个例子:
md5(/11.jpgtest1469953787ip127.0.0.1)(注意计算md5是带ip的格式是: ip127.0.0.1 ,如果访问报403,注意查看自已的公网ip是什么)
http://localhost/11.jpg?_KS=71b9c17ed08dda14d8402a78e4bc9342&_KE=1469953787ip(注意结尾的unix时间后面是写ip两个字符不是写ip地址)
path:/11.jpg
key:test
expire:过期时间戳 php中用time()获取
以上两种算法也写了示例,防盗链按上图设置就可以,接下来就是网站程序代码改写配合了。
一定要在网站程序和app中配合防盗链签名修改代码使用,否则不生效
cdnbest设置方法很简单,高级设置中找到模块开启即可,同样需要修改客户端代码对接来实现
因为该方法做api防护需要改动源站代码,如果无法改动代码,那请看这个贴可以起到一定缓解效果,毕竟,,攻击器可能穿透这种算法。
在无法修改源站这种时候用黑名单来更好一点,设置每秒访问最大次数进行拉黑。
https://bbs.itzmx.com/thread-97130-1-1.html
还有一种方法,就是让源站配合修改api,加入签名等算法信息,也就是本贴上方所说的修改源站,然后在kangle CDN中同时进行设置加密密钥来签名,此时未签名的请求将会拦截这些攻击
php的话,几行代码的事情,帖子有提供例子,照抄就行了,网上也一大堆,如果你是CDN商家,并且从你这购买CDN的用户,如果对方程序是买的让他联系买家做一下就行了,只要加密密钥不泄露,攻击者就无法进行攻击,因为要改程序,需要源站的人配合
|