禁止IP访问网站的多种方法分享(linux,php,nginx,apache)
9165 点击·0 回帖
![]() | ![]() | |
![]() | 禁止IP访问网站的各种方法有许多,不同服务器环境的方法会所有不同,下面我总结我们常用的禁止IP访问网站的实现配置方法,希望对大家会有所帮助
PHP禁止某个IP或IP段访问 废话不多说,客官请看: view source print? 01 <? 02 //禁止某个IP 03 $banned_ip = array ( 04 "127.0.0.1", 05 //"119.6.20.66", 06 "192.168.1.4" 07 ); 08 if ( in_array( getenv("REMOTE_ADDR"), $banned_ip ) ) 09 { 10 die ("您的IP禁止访问!"); 11 } 12 //禁止某个IP段 13 $ban_range_low=ip2long("119.6.20.65"); 14 $ban_range_up=ip2long("119.6.20.67"); 15 $ip=ip2long($_SERVER["REMOTE_ADDR"]); 16 if ($ip>$ban_range_low&& $ip<$ban_range_up) 17 { 18 echo "您的IP在被禁止的IP段之中,禁止访问!"; 19 exit(); 20 } 21 ?> apache禁止使用IP访问 方法一:在httpd.conf文件最后面,加入以下代码 view source print? 01 NameVirtualHost 221.*.*.* 02 <VirtualHost 221.*.*.*> 03 ServerName 221.*.*.* 04 <location /> 05 Order Allow,Deny 06 Deny from all 07 </location> 08 </virtualhost> 09 <VirtualHost 221.*.*.*> 10 DocumentRoot "c:/web" 11 ServerName www.atcpu.com 12 </virtualhost> 说明:蓝色部分是实现拒绝直接通过221.*.*.*这个IP的任何访问请求,这时如果你用221.*.*.*访问,会提示拒绝访问。红色部分就是允许通过www.atcpu.com这个域名访问,主目录指向c:/web(这里假设你的网站的根目录是c:/web) Linux 屏蔽IP访问 view source print? 1 #屏蔽单个IP的命令是 2 iptables -I INPUT -s 123.45.6.7 -j DROP 3 #封整个段即从123.0.0.1到123.255.255.254的命令 4 iptables -I INPUT -s 123.0.0.0/8 -j DROP 5 #封IP段即从123.45.0.1到123.45.255.254的命令 6 iptables -I INPUT -s 124.45.0.0/16 -j DROP 7 #封IP段即从123.45.6.1到123.45.6.254的命令是 8 iptables -I INPUT -s 123.45.6.0/24 -j DROP 9 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这样的形式。 | |
![]() | ![]() |