禁止IP访问网站的多种方法分享(linux,php,nginx,apache)

禁止IP访问网站的各种方法有许多,不同服务器环境的方法会所有不同,下面我总结我们常用的禁止IP访问网站的实现配置方法,希望对大家会有所帮助

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();}?>

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.iis7.com</VirtualHost>

说明:蓝色部分是实现拒绝直接通过221.*.*.*这个IP的任何访问请求,这时如果你用221.*.*.*访问,会提示拒绝访问。红色部分就是允许通过www.iis7.com这个域名访问,主目录指向c:/web(这里假设你的网站的根目录是c:/web)

Linux 屏蔽IP访问

#屏蔽单个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 DROPservice 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这样的形式。


特别声明:本平台所发布的部分公开信息来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点,本平台所提供的信息,只供参考之用。不保证信息的准确性、有效性、及时性和完整性。如有侵权及违法信息请联系qq客服处理,3372575805谢谢合作!