Apache 的 order deny allow 设置说明

所以,最常用的是:
Order Deny,Allow
Allow from All

注意“Deny,Allow”中间只有一个逗号,也只能有一个逗号,有空格都会出错;单词的大小写不限。

上面设定的含义是先设定“先检查禁止设定,没有禁止的全部允许”,而第二句没有Deny,也就是没有禁止访问的设定,直接就是允许所有访问了。这个主要是用来确保或者覆盖上级目录的设置,开放所有内容的访问权。

按照上面的解释,下面的设定是无条件禁止访问:
Order Allow,Deny
Deny from All

如果要禁止部分内容的访问,其他的全部开放:
Order Deny,Allow
Deny from ip1 ip2
或者
Order Allow,Deny
Allow from all
Deny from ip1 ip2

apache会按照order决定最后使用哪一条规则,比如上面的第二种方式,虽然第二句allow允许了访问,但由于在order中allow 不是最后规则,因此还需要看有没有deny规则,于是到了第三句,符合ip1和ip2的访问就被禁止了。注意,order决定的“最后”规则非常重要,下面是两个错误的例子和改正方式:

Order Deny,Allow
Allow from all
Deny from domain.org
错误:想禁止来自domain.org的访问,但是deny不是最后规则,apache在处理到第二句allow的时候就已经匹配成功,根本就不会去看第三句。
解决方法:Order Allow,Deny,后面两句不动,即可。

Order Allow,Deny
Allow from ip1
Deny from all
错误:想只允许来自ip1的访问,但是,虽然第二句中设定了allow规则,由于order中deny在后,所以会以第三句deny为准,而第三句的范围中又明显包含了ip1(all include ip1),所以所有的访问都被禁止了。
解决方法一:直接去掉第三句。
解决方法二:
Order Deny,Allow
Deny from all
Allow from ip1

总结:Order Deny,Allow中,后一个是一定会被执行的(有相应的allow或deny语句时),如果没有则按照语义分析。

(0)

相关推荐

  • Apache中的Order Allow,Deny用法详解

    本文讲述了Apache中的Order Allow,Deny用法.分享给大家供大家参考,具体如下: Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用来控制目录和文件的访问授权. 所以,最常用的是: Order Deny,Allow Allow from All 注意"Deny,Allow"中间只有一个逗号,也只能有一个逗号,有空格都会出错:单词的大小写不限.上面设定的含义是先设定"

  • Apache配置参数deny和allow的使用实例

    由于产品的需要,最近在配置apache的负载均衡功能,但是在配置虚拟主机的访问权限的时候我们遇到了一些问题.主要问题是deny和allow的执行顺序,抽时间研究了下这两个参数的使用,现把deny和allow的使用情况总结如下. 一.使用情况总结 我们来看下下面的apache的一个配置,具体代码如下: 复制代码 代码如下: <Directory />     Order allow,deny  #1     Allow from all #2     deny from 192.9.200.69

  • apache的AllowOverride以及Options使用详解

    AllowOverride参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略.htacess文件,如果设置为All,那么所有在.htaccess文件里有的指令都将被重写.对于AllowOverride,还可以对它指定如下一些能被重写的指令类型. 通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里.但要使 apache 能够正常的读取.htaccess 文件的内容,就必

  • Apache之AllowOverride参数使用说明

    从安全性考虑,根目录的AllowOverride属性一般都配置成不允许任何Override ,即 < Directory /> AllowOverride None < /Directory> 在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略.当此指令设置为 All 时,所有具有 ".htaccess" 作用域的指令都允许出现在 .htaccess 文件中. 而对于 URL rewrite 来说,至少需要把目录设置为

  • Apache配置文件中的deny与allow小结

    今天在公司配置Zend本地Apache环境的时候,发现在zend.conf中的权限控制中的几段句子,如下所示: 复制代码 代码如下: <Location /server-status>      SetHandler server-status       Order deny,allow       Deny from all       Allow from 127.0.0.1   </Location> 自己在配置虚拟主机的时候需要配置VirtualHost, 复制代码 代码

  • Apache 的 order deny allow 设置说明

    所以,最常用的是: Order Deny,Allow Allow from All 注意"Deny,Allow"中间只有一个逗号,也只能有一个逗号,有空格都会出错:单词的大小写不限. 上面设定的含义是先设定"先检查禁止设定,没有禁止的全部允许",而第二句没有Deny,也就是没有禁止访问的设定,直接就是允许所有访问了.这个主要是用来确保或者覆盖上级目录的设置,开放所有内容的访问权. 按照上面的解释,下面的设定是无条件禁止访问: Order Allow,Deny Den

  • Apache服务器必备基本安全设置

    Apache是世界上占用率最大的web服务器软件,以安装.稳定而著称,默认安装后有一些限制较为宽松,可进一步设置加固其安全.1.隐藏版本信息: 复制代码 代码如下: ServerSignature off #不输出任何页脚信息ServerTokens prod #不输出apache版本信息 2.以低权限用户运行: 复制代码 代码如下: User nobodyGroup nobody 3.网站目录设定: 复制代码 代码如下: <Directory "/var/www/html"&g

  • Windows下Apache应用环境塔建安全设置(目录权限设置)

    环境配置情况:apache安装目录:d:\www-s\apachephp目录:d:\www-s\php5mysql目录:d:\www-s\mysql网站根目录:d:\www\htdocs 专门为运行Apache运行所使用的用户:apache-u(可不隶属于任何用户组) PS:这里只说Windows下Apache应用环境相关的目录权限设置,至于其他基本的服务器目录权限设置就不提啦! Windows下Apache应用环境塔建目录安全设置操作步骤: 配置目录权限 Apache所在的根目录(也就是D盘)

  • 两个IP实现IIS和Apache公用80端口的设置方法

    1. 打开命令提示符并确保您位于 X:\Inetpub\Adminscripts 文件夹(其中 X 是 IIS 安装驱动器)中.为此,请在命令提示符下键入以下命令行: X: CD \Inetpub\Adminscripts 2. 打开 Adminscripts 文件夹后,请在命令提示符下键入以下行: cscript adsutil.vbs set w3svc/disablesocketpooling true 3. 该命令反馈如下: disablesocketpooling :(BOOLEAN)

  • Apache中php.ini的设置方法

    例如: 复制代码 代码如下: 1 LoadModule php5_module "D:/wamp/bin/php/php5.4.3/php5apache2_2.dll"2 PHPIniDir "D:\wamp\bin\php\php5.4.3" 这样Apache使用的php.ini和PHP的DLL都是加载的5.4.3版本的.让IIS使用环境变量中的php.ini. 另外在wamp启动的时候,经常会提示类似 "无法定位程序输入点 php_checkuid 于

  • 正确配置与维护Apache安全性设置方法

    一,Apache服务器的介绍 Apache服务器它是Internet网上应用最为广泛的Web服务器软件之一.Apache服务器源自美国国家超级技术计算应用中心(NCSA)的 Web服务器项目中.目前已在互联网中占据了领导地位.Apache服务器得经过精心配置之后,才能使它适应高负荷,大吞吐量的互联网工作.快速.可靠.通过简单的API扩展,Perl/Python解释器可被编译到服务器中,且完全免费,完全源代码开放.如果你需要创建一个每天有数百万人访问的Web服务器,Apache可能是最佳选择. 二

  • apache在win2003下的安全设置(配合文件夹权限目录,很好很安全)

    于是要创建一个新的帐户来替代这个帐号启动apache并设置相应的权限: 1.在计算机管理里的本地用户和组里面创建一个帐户,例如:apache,密码设置为 apacheuser,加入guests组(如果出现问题,可以赋予user权限): 2.打开开始->管理工具->本地安全策略,在用户权限分配中选择"作为服务登陆",添加apache用 户: 3.计算机管理里面选择服务,找到apache2.2,先停止服务,右击->属性,选择登陆,把单选框从本地系统帐户切换到此帐户,然后查

  • apache在win2003下的安全设置方法

    如果web服务器的所有资源都在本地系统上,这样做会问题比较少,但是将会具有很 大的安全 权限来影响本地机器,因此千万不能开启System帐号的网络权限! 于是要创建一个新的帐户来替代这个帐号启动apache并设置相应的权限: 1.在计算机管理里的本地用户和组里面创建一个帐户,例如:apache,密码设置为 apacheuser,加入guests组(如果出现问题,可以赋予user权限): 2.打开开始->管理工具->本地安全策略,在用户权限分配中选择"作为服务登陆",添加ap

随机推荐