有什么理由不禁止那些收到 HTTP 404 的用户的 IP?这可行且容易吗?

有什么理由不禁止那些收到 HTTP 404 的用户的 IP?这可行且容易吗?

我有一个 WordPress 网站,我们都知道 WordPress 插件随着时间的推移会变得多么脆弱。我很好奇,想知道你们对可能只是禁止任何获得 HTTP 404 的人的 IP 有什么看法。显然,我必须确保该网站不会向无效链接提交任何请求,但我认为这是一种阻止攻击者的好方法。

我的意思是,如果有人访问该网站并点击网站上的链接,他们没有理由收到 HTTP 404 错误。如果有人收到 HTTP 404 错误,那么他们很可能正在做坏事。

话虽如此,有没有简单的方法可以实现这一目标?

答案1

在我看来这不是一个好主意。即使是维护良好的网站和插件也会偶尔出现 404 错误。例如,如果插件更新后他们忘记在版本更改时更新某个 URL、浏览器请求图标而您没有使用、您没有站点地图等,都可能发生这种情况。

我认为如果你这样做,你最终会阻止所有人偶尔访问你的网站,并且会使访问变得不必要地困难。如果你没有站点地图,你最终可能会阻止所有搜索引擎。

如果你想保护你的服务器,请使用fail2ban。我结合使用了fail2ban 和 CloudFlare,正如我在链接教程中概述的那样。它适用于 Amazon Linux,但在其他 Linux 上应该可以很好地工作。

注意:我已将下面的评论纳入其中,以便于阅读/理解。感谢评论作者。

答案2

除了 Tim 给出的原因之外,您还应该记住,数十或数百人可能会在同一个公共 IP 后面进行 NAT。

因此,在这种情况下,您可能也阻止了合法用户!

答案3

看看 Fail2Ban。我们有一条规则,规定如果某个 IP 有超过 10 个 404,则禁止该 IP。

答案4

即使你禁止了这些 IP 地址,他们也会继续从其他 IP 地址攻击你。许多僵尸网络可以访问数以万计的 IP 地址。在我看来,这仍然值得一做,尽管如果你不小心,你可能会禁止一小部分合法用户。

相关内容