灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:7391回复:0

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

楼主#
更多 发布于:2014-07-29 11:27
ps
禁止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这样的形式。

喜欢0 评分0
游客

返回顶部