首页 » 网站建设 »

用Require指令实现网站的访问控制

2019年8月12日 / 37次阅读
APACHE

在Apache-2.2时代,我们使用Allow Deny语句来实现访问控制,到了Apache-2.4,官方已经开始推荐使用Require指令实现网站的访问控制。

Require指令由mod_authz_host模块提供,而用于兼容的mod_access_compat,就可以注释掉了。我个人经验是,在Apache-2.4使用Allow Deny,似乎不能达到预想的效果,感觉是这些古老的指令已经跟Apache-2.4有点不兼容了,在同时还存在Require指令的情况下。

下面介绍Require指令的使用方法。

(1)Require指令可以被用在<Directory><Files><Location>这些配置区域内,当然也可以在.htaccess文件中。

(2)如果你只是需要允许所有,或者拒绝所有,很简单,要么 Require all granted, 要么 Require all denied。比如完全拒绝某个文件或某类文件的访问:

<Files *.ht*>
    Require all denied
</Files>
<Files "xmlrpc.php">
    Require all denied
</Files>

(3)如果还有更精细化的控制需要,就要将Require指令放在<RequireAll>配置区域内,否则重启Apache2.4加载规则时将出现错误:" negative Require directive has no effect in <RequireAny> directive "。

只允许来自特定host或ip的访问

<Directory xxx/www/yoursite>
 
    <RequireAll>
        Require host google.com
        Require ip 192.120 192.168.100 192.168.1.1
    </RequireAll>
</Directory>

只拒绝特定ip地址的访问

<Directory xxx/www/yoursite>
 
    <RequireAll>
        Require all granted
        Require not ip 192.120 192.168.100 192.168.1.1
    </RequireAll>
</Directory>

以上两种配置比较常用。Require指令还可以根据UA,HTTP的方法等信息来进行访问控制,本人还不太会,以后再继续学习和分享了。

本文链接:https://www.maixj.net/wz/require-22471

相关文章

留言区

《用Require指令实现网站的访问控制》有1条留言

  • 麦新杰

    如果发现有(可能)恶意的IP在采集网站数据,就可以使用Require指令,限制这个IP。IP地址万亿,封禁几个没啥关系。 []


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top