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的用户,如果对方程序是买的让他联系买家做一下就行了,只要加密密钥不泄露,攻击者就无法进行攻击,因为要改程序,需要源站的人配合 |