IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    apache配置黑名单和白名单

    失去的地平线发表于 2015-04-08 07:34:15
    love 0

    因为项目需要,部署之后客户需要实现白名单功能。以前一般使用iis服务器或者是网上的DZ或CP面板,而且也仅仅操作过黑名单。百度搜索,基本都是黑名单的操作方法,本文章主要是讲使用apache来规则实现黑白名单,从程序角度实现的就不在陈述,PHP程序可以直接获取客户端IP在初始化class或者login方法实现禁止或仅允许区段IP通过访问。

    方法1:通过apache的虚拟主机配置文件httpd.conf来控制,本方法适用于自己架设的服务器,一般虚拟主机是不能接触到httpd.conf文件的。

    #白名单,仅允许192.168.0.1以及192.168.1.1-192.168.1.255访问
    
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        #以下为关键代码
        Order Deny,Allow
        Allow from 192.168.0.1
        Allow from 192.168.1.0/24
        Deny from All 
    
    
    #黑名单,禁止192.168.0.1以及192.168.1.1-192.168.1.255访问
    
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        #以下为关键代码
        order allow,deny  
        allow from all  
        deny from 192.168.0.1 
        deny from 192.168.1.
    

    方法2:通过apache的虚拟主机的伪静态文件.htaccess来控制,本方法适用于支持.htaccess的所有主机。

    #白名单,仅允许192.168.0.1以及192.168.1.1-192.168.1.255访问
    Order Deny,Allow
    Allow from 192.168.0.1
    Allow from 192.168.1.0/24
    Deny from All 
    #黑名单,禁止192.168.0.1以及192.168.1.1-192.168.1.255访问
    order allow,deny  
    allow from all  
    deny from 192.168.0.1 
    deny from 192.168.1.

    PS:192.168.1.0/24与192.168.1. 等价,仅为不同书写格式。



沪ICP备19023445号-2号
友情链接