【问题标题】:htaccess use of Order Deny,Allowhtaccess 使用 Order Deny,Allow
【发布时间】:2017-03-15 21:14:51
【问题描述】:

我在我的 .htaccess 文件中使用 Order Deny,Allow,但没有成功。我需要阻止访问的 IP 可以顺利通过。我读到从 Apache 2.4 Order Deny 开始,Allow 将不再起作用;首先是事实,其次是什么取代了它?我无法访问我的 httpd.conf 文件,所以 Require 和 Require not 对我来说不是一个选项。

我只能访问 .htaccess,如何通过 ip 完成禁止,或者如果不再可能,通过 ip 重定向。以下是我的订单拒绝的片段,如果重要,请允许。提前致谢!


Order Deny,Allow
Deny from 123.125.71.*
Deny from 123.125.71.121.some.domain.com
Deny from some.domain.com
Allow from All

(如您所见,我正在尝试以各种格式阻止相同的 ip,但无论格式如何,流量都会继续通过。)

【问题讨论】:

  • 你使用的是什么版本的 apache ard?
  • 我无法确定,但是我确实看到在我之前的 wm 在 htaccess 中的哪个位置使用 RewriteRule 规则。是否有一个简单的 RewriteRule 我可以添加以将不需要的 ip 推送到 403还是特定页面?

标签: apache .htaccess


【解决方案1】:

要将不需要的 ip 推送到 403,可以使用以下规则:

RewriteEngine on

RewriteCond %{REMOTE_ADDR} ^00\.00\.00\.00$
 RewriteRule ^ - [R=403,L]

00.00.00.00 替换为您不需要的 IP 地址。

要禁止多个 ipaddress,您可以在规则中添加由 [OR] 标志分隔的多个条件:

RewriteEngine on

RewriteCond %{REMOTE_ADDR} ^00\.00\.00\.00$ [OR]
RewriteCond %{REMOTE_ADDR} ^00\.00\.00\.00$
 RewriteRule ^ - [R=403,L]

【讨论】:

  • 漂亮,非常感谢您的帮助。我现在正在测试......最后一个问题,一些访问是这样的:d27-96-82-165.evv.wideopenwest.com 我该如何表达?
  • 您可以使用 %{HTTP_REFERER} 变量来做到这一点。 RewriteCond %{HTTP_REFERER} ^host$ RewriteRule ^ - [R=403]
  • 完美。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2020-09-27
  • 2011-01-16
  • 2012-12-28
  • 1970-01-01
  • 1970-01-01
  • 2014-12-11
  • 2012-08-09
  • 1970-01-01
相关资源
最近更新 更多