Oud*_*din 7 .htaccess apache-2.4
我已经升级了 Apache 2.4 并想阻止一个 Ip 这可以通过在 Apache 2.2 上的 .htaccess 中使用以下内容来完成
Order Deny,Allow
Deny from 50.62.136.183
Run Code Online (Sandbox Code Playgroud)
但是,如何在 Apache 2.4 上的 .htaccess 中实现相同的目标
小智 10
这是.htaccess文件的另一种可接受的语法:
<RequireAll>
Require all granted
Require not ip 50.62.136.183
</RequireAll>
Run Code Online (Sandbox Code Playgroud)
建议在 2.4 中使用此语法,因为 order-deny 语法并不总是有效,可以在这里看到http://httpd.apache.org/docs/2.4/upgrading.html
小智 9
Apache 2.4 在授权用户的方式上做了一些重大改变。
Apache 2.4 中的授权组件现在可以使用以前仅可用于身份验证的 Require 语法。此更改简化了定义授权顺序的方式。2.4 之前的规则集可能会变得非常复杂。2.4 中的规则更符合逻辑,指定默认值,然后指定异常。
您要求默认接受流量,但希望阻止特定 IP,规则如下所示:
Require all granted
Require not ip 50.62.136.183
Run Code Online (Sandbox Code Playgroud)
此规则将设置接受所有 IP 的默认策略,除了来自 111.111.111.111 IP 地址的任何请求。
Apache 2.4 前后示例
阿帕奇 2.2
<files somefile.php>
order allow,deny
deny from 50.62.136.183
</files>
Run Code Online (Sandbox Code Playgroud)
阿帕奇 2.4
<Files somefile.php>
Require all granted
Require not ip 50.62.136.183
</Files>
Run Code Online (Sandbox Code Playgroud)
不要忘记阻止访问您的 .htaccess 文件或快速谷歌搜索我的网站易受攻击。我已经包含了 2.4 之前和 2.4 之后的配置。
阿帕奇 2.2
# Prevent .htaccess files from being spidered or viewed via a web browser.
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
satisfy all
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
阿帕奇 2.4
# Prevent .htaccess files from being spidered or viewed via a web browser.
<Files ".ht*">
Require all denied
</Files>
Run Code Online (Sandbox Code Playgroud)
小智 3
访问控制的配置已更改,您可以在http://httpd.apache.org/docs/2.4/upgrading.html#access中阅读,因此您应该使用 Require 指令:
Require all granted
Require not ip 50.62.136.183
Run Code Online (Sandbox Code Playgroud)
如果您将其添加到您的.htaccess
文件(或Directory
部分)中,它应该按照您的要求工作。
归档时间: |
|
查看次数: |
27885 次 |
最近记录: |