我正在使用以下语法来阻止.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脚本,所以我不确定是否需要“ all 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.
首先,此文档页面在解释内容方面做得很好。
以下引用来自mod_authz_host的文档
Order指令以及Allow和Deny指令一起控制三遍访问控制系统。第一遍处理Order指令指定的所有Allow指令或所有Deny指令。第二遍解析其余的指令(拒绝或允许)。第三遍适用于所有与前两个都不匹配的请求。
请注意,与仅使用第一个匹配项的典型防火墙不同,所有的Allow和Deny指令均已处理。最后一个匹配有效(也不同于典型的防火墙)。此外,行在配置文件中的显示顺序并不重要-所有“允许”行都作为一个组处理,所有“拒绝”行都被视为另一组,并且默认状态由其自身考虑。
换句话说,如果您有Order Allow,Deny
,它将首先处理所有Allow
指令,然后处理所有Deny
指令。您可能会发现,拥有1条指令Allow from all
还是100Allow from all
条指令都没有关系。最终结果是相同的,但是使用其中的100条指令,您的服务器将需要更多的时间来处理。然后,它将处理所有拒绝指令,并在需要时覆盖您刚刚授予的权限。
因此,您只需要一个Order Allow,Deny
指令和一个Allow from all
指令。然后,无论您使用什么脚本,都可以Deny
按照自己的意愿追加指令,所有指令都将按预期运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句