访问控制:控制对任何资源的访问的任何方法。

相关模块:

mod_authz_core和mod_authz_host、mod_rewrite

方法:

1 控制主机访问

模块:mod_authz_host

指令:Require提供了多种不同的方法来允许或拒绝对资源的访问,也可以使用RequireAll、RequireAny、RequireNone指令;

Require host 主机地址

Require ip ip.address ip地址/CIDR规范

Require not ip 10.1.1.1

Require not host www.com

require all granted 允许所有访问

require all denied 拒绝所有访问

Require expr expression 若expression计算为true则允许访问

Require user userid 只有指定的用户才可以访问

Require group group-name 指定的用户组可以访问

Require valid-user 所有有效用户可以访问


2 变量的访问控制

可以根据环境变量或请求表头值来允许或拒绝访问

列:基于用户浏览器的访问控制

<If "%{HTTP_USER_AGENT} == 'Mozilla'">

    Require all denied

</If>

或使用Require expr语法:Require expr %{HTTP_USER_AGENT} != 'Mozilla'

注:http://httpd.apache.org/docs/2.4/expr.html


3  mod_rewrite

此模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求,是一个基于规则的重写引擎。

mod_rewrite 将URL映射到文件系统路径,也可以将一个URL重定向到另一个URL。