由于运维工作的需要,我们需要禁止指定的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();
- }
- ?>
-
2、Apache 禁止IP访问方法
在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>
-
3、Nginx禁止IP访问的方法
这里我们需要创建一个 blocksip.conf 文件,然后在里面添加禁止的IP或者IP段落。
- deny 1.1.1.1
-
这里简单设置某个IP。在nginx的配置文件nginx.conf中加入 include blocksip.conf。然后重启 nginx,就可以生效了。我们可以设置具体的IP和IP段。
- deny IP;
- allow IP;
- # block all ips
- deny all;
- # allow all ips
- allow all;