Apache Access Control(translate)

相关模块和指令

访问控制可以由几个不同的模块完成。 其中最重要的是mod_authz_coremod_authz_host。 本文还讨论了使用mod_rewrite的访问控制。

主机访问控制

如果您希望根据访问者的主机地址限制访问您网站的部分内容,那么使用mod_authz_host完成访问最容易。

“Require”提供了多种不同的方式来允许或拒绝访问资源。 结合RequireAllRequireAnyRequireNone指令,这些要求可以以任意复杂的方式组合,以执行您的访问策略所发生的任何事情。

mod_access_compat提供的“Allow”,“Deny”和“Order”指令已被弃用,并将在以后的版本中消失。 你应该避免使用它们,并避免推荐使用过时的教程。

这些指令的用法是:

Require host address
Require ip ip.address```
在第一种形式中,***address***是一个完全限定域名(或部分域名); 如果需要,您可以提供多个地址或域名。

在第二种形式中,***ip.address***是IP地址,部分IP地址,网络/网络掩码对或网络/ nnn CIDR规范。 可以使用IPv4或IPv6地址。
有关此语法的进一步示例,请参阅[mod_authz_host文档](https://httpd.apache.org/docs/2.4/en/mod/mod_authz_host.html#requiredirectives)。

您可以插入not来否定特定要求。 请注意,由于not是值的否定,它本身不能用于允许或拒绝请求,就像not
 true不等于false。 因此,要拒绝使用否定的访问,块必须具有一个评估为true或false的元素。 例如,如果您有某人垃圾邮件您的留言板,并且您想要保留他们,您可以执行以下操作:

<RequireAll>
Require all granted
Require not ip 10.252.46.165
</RequireAll>```
来自该地址(10.252.46.165)的访问者将无法看到本指令涵盖的内容。 如果相反,您有机器名称,而不是IP地址,您可以使用它。

Require not host host.example.com```
而且,如果您想阻止整个域的访问,您只能指定地址或域名的一部分:

Require not ip 192.168.205
Require not host phishers.example.com moreidiots.example
Require not host gov```
可以使用RequireAll,RequireAny和RequireNone指令来执行更复杂的需求集。

任意变量访问控制

[F] RewriteRule标志会导致403 Forbidden响应被发送。 使用它,您可以根据任意条件拒绝对资源的访问。

例如,如果您希望在晚上8点至6点之间阻止访问资源,可以使用mod_rewrite进行访问。

RewriteEngine On
RewriteCond "%{TIME_HOUR}" ">=20" [OR]
RewriteCond "%{TIME_HOUR}" "<07"
RewriteRule "^/fridge"     "-" [F]```
这将在晚上8点或上午7点之前返回403 Forbidden回应。 该技术可用于您希望检查的任何标准。 如果该方法是首选,您还可以重定向或以其他方式重写这些请求。

2.4中添加的<If>指令代替了mod_rewrite传统上习惯做的许多事情,您应该在使用mod_rewrite之前先看看。
##More information
[expression engine](https://httpd.apache.org/docs/2.4/en/expr.html)为您提供了大量基于任意服务器变量执行各种功能的功能,您应该查阅该文档以获取更多详细信息。

此外,您应该阅读[mod_authz_core](https://httpd.apache.org/docs/2.4/en/mod/mod_authz_core.html)文档,了解组合多个访问需求并指定它们如何交互的示例。

另见[Authentication and Authorization](https://httpd.apache.org/docs/2.4/en/howto/auth.html) howto。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 此文章转载~ Apache伪静态(Rewrite).htaccess文件详解 Htaccess(超文本访问)是一个...
    bornfreekiss阅读 9,659评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,278评论 19 139
  • 上一篇《WEB请求处理一:浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建...
    七寸知架构阅读 81,634评论 21 356
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,725评论 2 56
  • 从文章的概述,我们能够了解到表情包的发展史,已经有几十年了,任何一个物质的存在都有其合理性,尤其是经过时间筛选存在...
    丿子木丨阅读 3,177评论 0 0

友情链接更多精彩内容