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

 更新时间:2014年07月28日 15:25:15   投稿:mdxy-dxy  
禁止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.jb51.net
</VirtualHost> 

说明:蓝色部分是实现拒绝直接通过221.*.*.*这个IP的任何访问请求,这时如果你用221.*.*.*访问,会提示拒绝访问。红色部分就是允许通过www.jb51.net这个域名访问,主目录指向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 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这样的形式。

相关文章

  • rsync备份时自动创建目录的方法

    rsync备份时自动创建目录的方法

    这篇文章主要介绍了rsync备份时自动创建目录的方法,本文使用rsync 中的 -R 参数(-R, --relative use relative path names)解决自动创建目录问题,需要的朋友可以参考下
    2015-01-01
  • Centos7使用docker搭建gitlab服务器

    Centos7使用docker搭建gitlab服务器

    这篇文章主要为大家详细介绍了Centos7使用docker搭建gitlab服务器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • TeamCenter12登陆报404/503问题解决方案

    TeamCenter12登陆报404/503问题解决方案

    这篇文章主要介绍了TeamCenter12登陆报404/503问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 基于Nexus实现配置阿里云代理仓库过程解析

    基于Nexus实现配置阿里云代理仓库过程解析

    这篇文章主要介绍了基于Nexus实现配置阿里云代理仓库过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • HP ILO2 使用详细教程[图文]

    HP ILO2 使用详细教程[图文]

    iLO是Intergrated Light-Out的缩写,是惠普特有的远程管理功能,目前最新的版本是iLO2。通过iLO2可以实现硬件级别的服务器远程管理,包括开关机、重启、服务器状态的监控、虚拟KVM等
    2013-02-02
  • HTTPS 原理详解

    HTTPS 原理详解

    这篇干货不错,把HTTPS的原理讲清楚了,而且容易懂,建议大家好好读一下。
    2020-03-03
  • UDP DUP超时UPD端口状态检测代码示例

    UDP DUP超时UPD端口状态检测代码示例

    这篇文章主要介绍了UDP DUP超时UPD端口状态检测,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 服务器购买和初步搭建的方法

    服务器购买和初步搭建的方法

    这篇文章主要介绍了服务器购买和初步搭建的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Hadoop中namenode和secondarynamenode工作机制讲解

    Hadoop中namenode和secondarynamenode工作机制讲解

    今天小编就为大家分享一篇关于Hadoop中namenode和secondarynamenode工作机制讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 完美解决在eclipse上部署Tomcat时出现8080等端口被占用的问题

    完美解决在eclipse上部署Tomcat时出现8080等端口被占用的问题

    下面小编就为大家带来一篇完美解决在eclipse上部署Tomcat时出现8080等端口被占用的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07

最新评论