设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 3436|回复: 0

kangle利用path_sign key做动态防盗链 适合app移动客户端过期时间戳签名防护,cdnbest api防护

[复制链接]
 成长值: 222

签到天数: 4699 天

[LV.Master]伴坛终老

发表于 2016/7/31 16:47 | 显示全部楼层 |阅读模式 |Google Chrome 51.0.2704.103|Windows 8.1
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
kangle利用path_sign key做动态防盗链 适合app移动客户端过期时间戳签名防护,cdnbest api防护

untitled.png

图中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设置方法很简单,高级设置中找到模块开启即可,同样需要修改客户端代码对接来实现
1.png


因为该方法做api防护需要改动源站代码,如果无法改动代码,那请看这个贴可以起到一定缓解效果,毕竟,,攻击器可能穿透这种算法。
在无法修改源站这种时候用黑名单来更好一点,设置每秒访问最大次数进行拉黑。
https://bbs.itzmx.com/thread-97130-1-1.html

还有一种方法,就是让源站配合修改api,加入签名等算法信息,也就是本贴上方所说的修改源站,然后在kangle CDN中同时进行设置加密密钥来签名,此时未签名的请求将会拦截这些攻击
php的话,几行代码的事情,帖子有提供例子,照抄就行了,网上也一大堆,如果你是CDN商家,并且从你这购买CDN的用户,如果对方程序是买的让他联系买家做一下就行了,只要加密密钥不泄露,攻击者就无法进行攻击,因为要改程序,需要源站的人配合

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/11/15 09:20 , Processed in 0.121449 second(s), 26 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表