网站被频繁扫描,杜绝垃圾流量的解决办法

4 分享

官方客服

官方客服 2020-07-03 21:18:50

无论你是用个人版还是商家版,肯定在后台日志里看到一些垃圾扫描,如我刚在演示站后台看到的日志:

2020-07-03 15:57:26     404     /member.tar.gz
2020-07-03 15:57:26     404     /member/backup.tar.gz
2020-07-03 15:57:26     404     /member/backup.zip
2020-07-03 15:57:26     404     /member.zip
2020-07-03 15:57:26     404     /member/2018.tar.gz
2020-07-03 15:57:26     404     /member/www.tar.gz
2020-07-03 15:57:26     404     /member/www.zip
2020-07-03 15:57:26     404     /member/2018.zip
2020-07-03 15:57:26     404     /member/.idea/workspace.xml
2020-07-03 15:57:26     404     /member/pmd/index.php
2020-07-03 15:57:26     404     /member/2019.zip
2020-07-03 15:57:26     404     /member/2019.tar.gz

虽然他们什么也扫描不到,对系统没有什么影响,但毕竟一秒一次甚至几次会消耗你站的流量,同时影响正常用户的访问,怎么解决?

拉黑IP,不现实,因为他们的IP不可能是固定的

即使拉黑了,他们也已经访问到了你的服务器,已经消耗了你站的流量

下面的这个方法可以有效的屏蔽这些垃圾访问,并且在到达你服务器这前拦截掉,但只能用阿里的CDN来控制,当然别家的CDN有没有这个功能,我也不太清楚,大家可以参考:


使用阿里CDN,拦截垃圾流量

不截图了,位置很容易找到

点击查看阿里cdn价格


1、登录阿里云控制台,CDN-域名管理-管理-"边缘脚本"

2、模拟环境,添加规则,名称随意,规则代码

if eq(substr($uri, -4, -1), '.zip') {
    exit(404)
}
if eq(substr($uri, -4, -1), '.rar') {
    exit(404)
}
if eq(substr($uri, -4, -1), '.tgz') {
    exit(404)
}
if eq(substr($uri, -4, -1), '.sql') {
    exit(404)
}
if eq(substr($uri, -3, -1), '.7z') {
    exit(404)
}
if eq(substr($uri, -3, -1), '.gz') {
    exit(404)
}

上面的代码大家一看就会明白,凡是访问.zip.rar.gz等等的,直接报404

当然也可以拦截一些其他的访问,比如某些垃圾扫描以为你的站是wordpress,利用WP的特征进行扫描,如wp-login.php/xmlrpc.php:

if eq(substr($uri, -12, -1), 'wp-login.php') {
    exit(404)
}
if eq(substr($uri, -10, -1), 'xmlrpc.php') {
    exit(404)
}

填写完成后,发布到模拟环境,然后再发布到生产环境!

测试是否成功,可以随便访问一个地址如:

http://你的网址.com/test.zip

页面显示404,"Powered by Tengine..."即成功!

如以后需修改,生产环境中选择"复制规则到模拟环境",修改后再发布到生产环境即可.



xiaog

xiaog 2020-07-03 21:29:26

请登录查看


官方客服

官方客服 2020-07-03 21:36:04

请登录查看


www.12-3.cn

www.12-3.cn 2020-07-04 09:39:54

请登录查看


5

5 2020-07-04 17:34:30

请登录查看


本帖已关闭回复或无回复权限!