PHP禁止某个IP或IP段访问
废话不多说,客官请看:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<? //禁止某个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 (); } ?> |
apache禁止使用IP访问
方法一:在httpd.conf文件最后面,加入以下代码
1
2
3
4
5
6
7
8
9
10
11
12
|
NameVirtualHost 221.*.*.* < VirtualHost 221.*.*.*> ServerName 221.*.*.* < Location /> Order Allow,Deny Deny from all </ Location > </ VirtualHost > < VirtualHost 221.*.*.*> DocumentRoot "c:/web" ServerName www.zzvips.com </ VirtualHost > |
说明:蓝色部分是实现拒绝直接通过221.*.*.*这个IP的任何访问请求,这时如果你用221.*.*.*访问,会提示拒绝访问。红色部分就是允许通过www.zzvips.com这个域名访问,主目录指向c:/web(这里假设你的网站的根目录是c:/web)
Linux 屏蔽IP访问
1
2
3
4
5
6
7
8
9
|
#屏蔽单个IP的命令是 iptables -I INPUT -s 123.45.6.7 -j DROP #封整个段即从123.0.0.1到123.255.255.254的命令 iptables -I INPUT -s 123.0.0.0/8 -j DROP #封IP段即从123.45.0.1到123.45.255.254的命令 iptables -I INPUT -s 124.45.0.0/16 -j DROP #封IP段即从123.45.6.1到123.45.6.254的命令是 iptables -I INPUT -s 123.45.6.0/24 -j DROP service iptables save |
保存在/etc/sysconfig/iptables 若没有iptables文件会自动创建
Nginx 禁止IP访问
首先建立下面的配置文件放在 nginx 的 conf目录下面,命名为blocksip.conf:
deny 4.4.4.4 //这是nginx要禁止的IP
保存一下。
在nginx的配置文件nginx.conf中加入:include blocksip.conf; 然后重启 nginx,就可以生效了。被封锁的ip打开站点的时候,就会提示:
403 Forbidden
blocksip.conf:的格式还有许多种,可以配置只允许的IP访问或者IP段访问:
deny IP;
allow IP;
# block all ips
deny all;
# allow all ips
allow all;
其中网段的写法是这样的:192.168.1.0/24这样的形式。