阿里云有个日志监控,利用它我们生成一个规则,当同一个 URL 访问的次数在 1 分钟超过 100 ? 时,则报警 报警规则选 短信+钉钉外,最关键是生成 post 报警
我们在主机上新建一个 Php 文件,接受此报警,php 提取出 访问频率最高 的 URL 和 访问该 url 的 IP 为防止误处理,我们设定只处理 .jpg.mp3 等这种大流量链接。 再利用 CDN API 接口中的封禁资源接口,把此 URL 设置为 block 状态,即该 URL 无法被访问状态
api 请求示例: https://cdn.aliyuncs.com?&Action=BlockObjectCaches&ObjectPath=example.com/test.jpg&Type=block&<公共请求参数>
同时利用 api 把该 IP 拉入 CDN 黑名单。
这样,example.com/test.jpg 就进入黑洞状态
如果别人改变规则 ,刷另外的图片,则依次会拉入黑洞。
然后我们根据手机提示信息,再看情况手工解除这些图片的黑洞。也可以用 api 自动解除
是不是很完美啊,当然总是避免不了小散户刷量,但总不会再出现一刷就几 T 的情况
别人付出的技术成本和难度也大大提高
1
hanguofu 2018-12-08 19:36:25 +08:00 via Android
写的很好,适合我这种小白,谢谢!
|
2
yuewolf 2019-01-21 16:59:40 +08:00
思路不错,先收藏一下
|
3
zhangyi886 2019-02-28 13:03:51 +08:00
请问你第一步说的日志监控和报警规则是在阿里云后台就可以找到并设置吗?还是需要通过 API 自己写?
|
4
SomeBottle 2020-02-19 01:17:24 +08:00
我之前采用了这种措施,非常好的方法,不过目前仍在测试。
话说监控后台总显示数据不足是什么情况 |