Apache的訪问控制指对不论什么资源的不论什么方式的訪问控制。

一、基于主机或者IP地址的控制

这样的訪问控制基于訪问者的主机名或者IP地址,通过使用 Deny 和 Allow 指令。实现同意或者禁止某个主机訪问我们的server资源。通常 Order 指令也会一起使用。来定义 Deny 和 Allows 指令起作用的顺序。假设不使用 Order 指令,默认的顺序为 Deny, Allow, 就相当于 Order Deny,Allow。

Order 指令和 Allow,Deny 指令配合使用,实现了一个三步控制系统。

第一步:依据Order的顺序,将顺序在前的全部的Allow指令或者Deny指令应用于当前请求;也就是说假设是 Order allow,deny 。那么第一步就是将全部的Allow指令应用于当前訪问,假设有匹配,那么就同意该訪问。假设沒有匹配到一条Allow指令。那么就禁止其訪问;

第二步:将剩下的另外一个指令的全部语句跟当前请求匹配,假设有匹配就运行对应的訪问控制。

第三步:假设当前请求没有在前两步匹配到不论什么指令,就运行 Order 指令中后面的那个指令。

以下。通过一个样例理解一下:

使指定文件夹下的资源仅仅让本地訪问

    <Directory "/server">
Order allow,deny
Allow from 127.0.0.1
</Directory>

第一步: 本地的訪问匹配了 Allow from 127.0.0.1 这条指令。所以被同意。其它的主机没有匹配到不论什么一条Allow指令,所以被禁止訪问;

第二步:全部訪问都没有匹配到 Deny 指令。

第三步:没有匹配到不论什么指令的訪问,也就是不是本地的訪问,依照 Order 指令,运行后面的 deny 的指令,所以被禁止訪问;

二、依据环境变量的訪问控制

这样的方式能够通过 Allow from env= 或者 Deny from env= 语法实现,比方仅仅同意使用火狐浏览器的客户訪问:

    <Directory "/server">
SetEnvIf User-Agent "Firefox" ff=1
Order allow,deny
Allow from env=ff
</Directory>

三、使用 mod_rewrite 实现訪问控制

通过 mod_rewrite 指令的 [F] 标志,能够实现

关于Apacheserver的訪问控制的更多相关文章

  1. C++类訪问控制及继承

    一.C++类的訪问控制有三类:public,protected和private. 类訪问控制符 类成员可被哪些对象訪问 public 1.类的成员函数.2.类对象.3.友元.4.子类成员函数 prot ...

  2. JAVA基础之訪问控制权限(封装)

    包:库单元 1.当编写一个Java源码文件时.此文件通常被称为编译单元(有时也被称为转译单元). 2.每一个编译单元都必须有一个后缀名.java,而在编译单元内则能够有一个public类,该类名称必须 ...

  3. Phalcon 訪问控制列表 ACL(Access Control Lists ACL)

    Phalcon在权限方面通过 Phalcon\Acl 提供了一个轻量级的 ACL(訪问控制列表). Access Control Lists (ACL) 同意系统对用户的訪问权限进行控制,比方同意訪问 ...

  4. 訪问控制 protected, public, private 对照

    OOP 3大特性:数据抽象,继承,动态绑定 3中訪问标号 protected, public, private 对照 用类进行数据抽象:用继承类继承基类的成员,实现继承.通过将基类对应函数声明为vir ...

  5. php訪问控制

    訪问控制通过keywordpublic,protected和private来实现. 被定义为公有的类成员能够在不论什么地方被訪问.被定义为受保护的类成员则能够被其自身以及其子类和父类訪问.被定义为私有 ...

  6. ORA-24247: 网络訪问被訪问控制列表 (ACL) 拒绝

     ORA-24247: 网络訪问被訪问控制列表 (ACL) 拒绝 注意:须要在system用户下使用命令 须要先使用 DBMS_NETWORK_ACL_ADMIN.CREATE_ACL 创建訪问控 ...

  7. [Nginx]用Nginx实现与应用结合的訪问控制 - 防盗链

    应用场景:图片等资源须要设置权限,如:仅仅有认证过的用户才干訪问自己的图片. 解决的方法:使用Nginx的防盗链模块http_secure_link能够实现,该模块默认情况下不包括.故在安装时要加上- ...

  8. C++ 訪问控制权限图解

    基类訪问权限 类继承方式 子类訪问权限           public   public   protected public protected   private   No Access   p ...

  9. CCNP路由实验之十四 路由器的訪问控制ACL

     年9月1月12:00.还有一种时间叫做周期时间(periodic),即这个时间是会多次反复的.比方每周一,或者每周一到周五 ,"rotary 2″开启3002以此类推. 变成1,1变成 ...

随机推荐

  1. 关于TCP封包、粘包、半包

    关于Tcp封包 很多朋友已经对此作了不少研究,也花费不少心血编写了实现代码和blog文档.当然也充斥着一些各式的评论,自己看了一下,总结一些心得. 首先我们学习一下这些朋友的心得,他们是: http: ...

  2. ubuntu KDE/GNOME vnc

  3. C++面向对象编程初步

    1,使用const 指针; const int * pOne; //指向整型常量的指针,指向的值不能修改; int * const pTwo; //指向整型的常量指针,指向的值可以修改,但该指针不能再 ...

  4. #include <windows.h>

      1 FindWindowA 2 keybd_event 3 malloc 4 MessageBox 5 MessageBoxA 6 MessageBoxW 7 mouse_event 8 SetC ...

  5. deal with 'non-admin area' warn

    We usually use the follow code to delete product in Magento $product = Mage::getSingleton('catalog/p ...

  6. 高效搭建Spark全然分布式集群

    写在前面一: 本文具体总结Spark分布式集群的安装步骤,帮助想要学习Spark的技术爱好者高速搭建Spark的学习研究环境. 写在前面二: 使用软件说明 约定,Spark相关软件存放文件夹:/usr ...

  7. IOS-时间与字符串互相转换

    有时会遇到这种问题,须要把时间和时间戳互相转换 比方把"这种格式 或者是把""转换成"2014-07-16 15:54:36" 首先来第一个: 当前时 ...

  8. httpclient response 重定向

    HTTPClient请求后,重定向后,获取重定向的URL. 方法一:重定向后获取URL import org.apache.http.HttpEntity; import org.apache.htt ...

  9. JavaScript的日期处理

    很久前写的代码了,偶尔看到贴出来做个备忘,写得有点乱,懒得整理了. // 根据初始日期和滚动周期及滚动次数来计算终止日期,日期滚动周期,// 可以是每天(DAY).每周(WEEK).每月(MONTH) ...

  10. js中跳转

    <li><a href="javascript:recordRescSifting('+subject.subId+');">'+subject.subNa ...