阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

关于Apache服务器的访问控制

111次阅读
没有评论

共计 1911 个字符,预计需要花费 5 分钟才能阅读完成。

Apache 的访问控制指对任何资源的任何方式的访问控制。

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

这种访问控制基于访问者的主机名或者 IP 地址,通过使用 Deny 和 Allow 指令,实现允许或者禁止某个主机访问我们的服务器资源。通常 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] 标志,可以基于任何的标准对一个资源实现访问控制。

比如,我希望早八点到晚六点的时候才能访问任何资源,我就可以这样:

RewriteEngine On
RewriteCond %{TIME_HOUR} >20 [OR]
RewriteCond %{TIME_HOUR} <07
RewriteRule ^/fridge – [F]

这样的话,晚上八点以后到早上 7 点,都会返回 403

使用 Apache2.4.4 下的 htpasswd 生成的密码无效

使用 Apache 2.4.4 版本中自带的 htpasswd 工具,以默认方式创建密码的话,会无法通过验证。

解决方法:

1、采用在命令行中输入密码的方式,而不是默认的弹出来输入密码的方式,来设置密码:

/usr/local/apache2/bin/htpasswd -cb htpasswd.users user password

2、选用其他版本的 Apache 下自带的 htpasswd 工具。

————————————– 分割线 ————————————–

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm

RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm

LAMP 源码环境搭建 WEB 服务器 Linux+Apache+MySQL+PHP http://www.linuxidc.com/Linux/2013-05/84882.htm

LAMP+Xcache 环境搭建 http://www.linuxidc.com/Linux/2014-05/101087.htm

————————————– 分割线 ————————————–

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计1911字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中