除了一些例外,如何通过 ip 禁止 apache htaccess?

How to do apache htaccess ban by ip with the some exception?

P.S.: 对不起,请宽容我的英语。

我遇到过某些 IP 必须被阻止的情况,我想到了更好的方法 - htaccess。这导致我有很多切入点。它简单而且工作正常...

我愿意:

<Files *>
    Order allow,deny
    deny from aaa.aaa.aaa.aaa/aa
    deny from bbb.bbb.bbb.bbb/bb
    Allow from all
</Files>

但是!还有一件事。我有一些设备应该被允许访问,即使它们通过被拒绝的 IP。

我无法为 Apache 安装某些模块。所以我需要一些简单的方法来决定它。

有人可以给我一些方法或技巧吗?

您需要某种方式来识别这些设备,然后您可以添加一个环境变量来设置例外并使用 access control by environment variable。例如,如果你可以通过用户代理来完成:

SetEnvIf User-Agent SpecialUA UAException=1
<Files *>
    Order allow,deny
    Allow from UAException=1
    Deny from aaa.aaa.aaa.aaa/aa
    Deny from bbb.bbb.bbb.bbb/bb
    Allow from all
</Files>

另见 SetEnvIf。我正在链接到 Apache 2.2 文档,因为您使用的是已在 2.4 中更新的旧语法。