Apache “是重复的”;从x.x.x.x“拒绝”;及;从所有人中允许”;对的

Apache “是重复的”;从x.x.x.x“拒绝”;及;从所有人中允许”;对的,apache,.htaccess,mod-authz-host,Apache,.htaccess,Mod Authz Host,我正在使用以下语法阻止.htaccess文件中的某些IP: DirectoryIndex index.php order allow,deny deny from 17.18.19.0 deny from 18.17.19.1 allow from all 现在我不确定我是否能用上这个: DirectoryIndex index.php order allow,deny deny from 18.17.19.1 allow from all deny from 18.15.19.1 allow

我正在使用以下语法阻止.htaccess文件中的某些IP:

DirectoryIndex index.php
order allow,deny
deny from 17.18.19.0
deny from 18.17.19.1
allow from all
现在我不确定我是否能用上这个:

DirectoryIndex index.php
order allow,deny
deny from 18.17.19.1
allow from all
deny from 18.15.19.1
allow from all
deny from 18.18.19.1
allow from all
我能重复一下这个结构吗

deny from x.x.x.x
allow from all
我为什么要问?因为我发现php脚本只是在文件末尾追加了deny from,我不确定是否需要“allow from all”行

就这样吗?

DirectoryIndex index.php
order allow,deny
allow from all
deny from 17.18.19.0
deny from 18.17.19.1
deny from ... etc.
首先,做好解释工作

以下引语来自

Order指令以及Allow和Deny指令, 控制三通道访问控制系统。第一道工序 命令指定的all Allow或all Deny指令 指令。第二步解析其余的指令(Deny或 允许)。第三个过程适用于所有不匹配的请求 前两个中的任何一个

请注意,所有Allow和Deny指令都会被处理,这与 典型的防火墙,仅使用第一个匹配项。最后一场比赛 有效(也不同于典型的防火墙)。此外,订单 配置文件中出现的行并不重要-- 所有允许行都作为一个组处理,所有拒绝行都作为一个组处理 被视为另一个,默认状态本身被视为

换句话说,如果您有
命令允许、拒绝
,它将首先处理所有
允许
指令,然后处理所有
拒绝
指令。您可能会发现,如果您有1个
Allow from all
或100个
Allow from all
指令,这并不重要。最终的结果是相同的,但是对于其中的100条指令,您的服务器将需要更多的时间来处理。然后,它将处理所有deny指令,并在需要时覆盖您刚刚授予的权限


因此,您只需要一个
orderallow、Deny
指令和一个
Allow from all
指令。您使用的任何脚本都可以根据需要添加
Deny
指令,所有这些指令都将按预期工作。

那么它会像这样吗
DirectoryIndex.php
命令允许、拒绝
从所有人中允许
从17.18.19.0中拒绝
从18.17.19.1中拒绝
是,并在该命令下添加任何进一步的拒绝指令。