我有一个 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 地址。在我看来,这仍然值得一做,尽管如果你不小心,你可能会禁止一小部分合法用户。