【发布时间】:2021-04-04 17:35:05
【问题描述】:
这些.htaccess 规则有效:
<RequireAll>
Require all granted
Require not ip 1.22.333.444
.
.
.
</RequireAll>
这些.htaccess 规则不起作用:
<RequireAll>
Require all granted
.
.
.
Require not host bad_host
</RequireAll>
这些.htaccess 规则也不起作用:
<IfModule mod_rewrite.c>
RewriteCond %{REMOTE_HOST} (163data|amazonaws|colocrossing|poneytel) [NC]
RewriteRule .* - [F,L]
</IfModule>
我在顶部的.htaccess文件中写了:
HostnameLookups On
结果是一条错误消息,因为.htaccess 中不允许此命令。所以我删除了这个声明。
在Apache中,有一个“remote_host”对应某个IP。 我希望 tp 阻止不需要的主机访问我的网站,例如垃圾邮件发送者或其他在我的网站上产生大量无用流量的主机。
上面的代码示例有什么问题?
【问题讨论】:
-
解释你到底想防止什么。
-
我想阻止不需要的主机访问我的网站。
-
您如何准确定义“主机”以及为什么不需要它们?
-
我网站的访问者有一个IP,并且该IP对应于Apache中的“REMOTE_HOST”。 IP / remote_host 是不需要的,例如垃圾邮件发送者或在我的网站上制造无用流量。
-
日志文件示例:远程主机 = aftr-62-216-208-229.dynamic.xxx-online.de IP = 62.216.000.999
标签: apache .htaccess mod-rewrite mod-authz-host