阻止运行 Apache 的 Linux 服务器的机器人 URL

阻止运行 Apache 的 Linux 服务器的机器人 URL

我有一个运行 OpenSUSE 11.1 的 Web 服务器,我需要屏蔽某个 URL。我想屏蔽某个 URL 的原因是,它似乎一直有不同的 IP 地址,但 URL 却保持不变。

我不想安装任何新软件,所以我希望使用 IPTABLES 或 Apache 来实现这一点。

这样的事情会起作用吗?

iptables -A INPUT -s botmasterlabs.net -j DROP
iptables -A OUTPUT -d botmasterlabs.net -j DROP

还有其他想法吗?

答案1

iptables将在防火墙加载时解析名称。它不适用于您遇到的具有动态地址的服务器。如果问题站点具有静态地址,则您只需要 INPUT 规则。

Apache rewrite 应该能够做到这一点,但服务器响应的每个请求都会花费你一次 DNS 查找。如果你还没有缓存 DNS 服务器,请安装一个。dnsmasq对于较小的网站来说,像下面这样的轻量级服务器就足够了。类似下面的内容应该可以禁止访问。请参阅URL 重写指南以获取更多指导。

 RewriteEngine on
 RewriteCond   %{REMOTE_HOST}  example\.com$
 RewriteRule   * - [F]

答案2

我建议您在 Apache 配置中针对相关虚拟主机使用类似这样的配置:

RewriteEngine on
RedirectMatch /folder(.*) http://is.gd/8BhjPN

这对你有用吗?注意:重定向目标可能不是你想要传达的确切信息 - 你可能希望根据情况的具体情况来增加或减少该信息。

相关内容