最近在查看网站后台访客信息时,发现某一个IP在短时间内大量恶意刷网站页面,这不仅增加了服务器的运行负担,而且对网站后台统计和跳出率也有不良影响。小编第一时间想到的就是禁用这个IP访问,网站是运行在Centos7系统上面,所以下面简单分享下Centos7禁止某个IP访问网站的方法。
第一种方法:firewall添加黑名单
由于Centos7系统用的是firewall(防火墙)操作命令,所以只需添加单个黑名单只要将特定IP添加到 /etc/hosts.deny文件即可,格式是:sshd:IP:deny。
例如下面禁止23.100.232.233 IP访问,编辑hosts.deny配置文件,命令如下:
cd /etc #进入目录
vi hosts.deny #编辑文件
打开hosts.deny配置文件之后,添加想要禁止的IP地址即可。
sshd:23.100.232.233:deny
此外,如果想允许某个IP访问,只需编辑配置文件hosts.allow就行了。
cd /etc #进入目录
vi hosts.allow #编辑文件
然后在hosts.allow配置文件中添加允许的IP地址即可,例如:
sshd:23.100.232.233:allow
第二种方法:iptables添加黑名单
CentOS7禁止某个IP访问的命令:iptables,形式如下:
iptables -I INPUT -s ***.***.***.*** -j DROP
其中,-I是表示Insert(添加),后面跟的是规则,INPUT表示入站,***.***.***.***表示想要禁止的IP地址,DROP表示禁止连接(解封的话将-I换成-D即可,前提是iptables已经有这条记录)。例如想要禁止23.100.232.233 IP访问,可以写成:
iptables -I INPUT -s 23.100.232.233 -j DROP
成功执行命令后没有提示,所以,想要查看被封停的IP列表需要执行以下命令:
iptables – -list
这样就可以查看所有禁止访问的IP列表,如下图所示:
当然,如果想要使用iptables命令允许某个IP访问的话,可以使用以下命令:
iptables -I INPUT -s ***.***.***.*** -j ACCEPT
例如将23.100.232.233 IP添加到白名单(运行访问),可以写成:
iptables -I INPUT -s 23.100.232.233 -j ACCEPT
注意:上面的方法相对来说稍微复杂一些。如果你用的是wordpress网站,还可以在后台通过安装BAN插件的方法来屏蔽某个/某段IP。另外,如果你用的Linux服务器,还可以通过使用.htaccess配置文件来阻止某个IP访问(具体的规则网上找下吧),方法有多种,根据自身需求灵活选择。
总之,以上就是Centos7系统禁止某个IP访问网站的简单方法,如果大家在运维网站时,如果有人恶意刷评论或者刷网页的话,都可以通过以上方法禁用某个IP,这样就可以解决后顾之忧了!