由于运维工作的需要,我们需要禁止指定的IP或者IP段访问网站,于是我们可以用常见的Nginx设置,但是我们其实还可以用PHP脚本设置直接加载在我们的访问页面头部。或者我们也有可以用到Apache环境脚本如何设置的,在这里小编整理几个常见的设置方法。
1、PHP禁止IP和IP段访问
<? //禁止某个IP $banned_ip = array ( "127.0.0.1", //"119.6.20.66", "192.168.1.4" ); if ( in_array( getenv("REMOTE_ADDR"), $banned_ip ) ) { die ("您的IP禁止访问!"); } //禁止某个IP段 $ban_range_low=ip2long("119.6.20.65"); $ban_range_up=ip2long("119.6.20.67"); $ip=ip2long($_SERVER["REMOTE_ADDR"]); if ($ip>$ban_range_low && $ip<$ban_range_up) { echo "您的IP在被禁止的IP段之中,禁止访问!"; exit(); } ?>
在httpd.conf文件最后面,加入以下代码。
NameVirtualHost 221.*.*.* <VirtualHost 221.*.*.*> ServerName 221.*.*.* <Location /> Order Allow,Deny Deny from all </Location> </VirtualHost> <VirtualHost 221.*.*.*> DocumentRoot "c:/web" ServerName www.laobuluo.com </VirtualHost>
这里我们需要创建一个 blocksip.conf 文件,然后在里面添加禁止的IP或者IP段落。
deny 1.1.1.1
deny IP; allow IP; # block all ips deny all; # allow all ips allow all;