我如何才能系统地避免不存在的文件请求?

我如何才能系统地避免不存在的文件请求?

这是我的 apache httpd 日志:

[2015 年 5 月 13 日星期三 18:29:48] [错误] [客户端 108.162.213.59] 文件不存在:/www/html/ui/core.min.js

[2015 年 5 月 13 日星期三 18:29:48] [错误] [客户端 108.162.210.161] 文件不存在:/www/html/ui/ico.favorites.gif

[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.213.35] 文件不存在:/www/html/ui/social.facebook.gif

[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.210.146] 文件不存在:/www/html/ui/success.gif

[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.210.167] 文件不存在:/www/html/ui/ico.twitter.gif

[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.210.165] 文件不存在:/www/html/ui/social.twitter.gif

[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.210.147] 文件不存在:/www/html/ui/ico.facebook.gif

[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.210.42] 文件不存在:/www/html/ui/social.buzz.gif

[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.210.147] 文件不存在:/www/html/ui/social.delicious.gif

/www/html/用户界面/虽然目录已经存在很长时间了(2 年),所以我猜测,无论是谁仍然试图系统地访问这些文件,一定很久以前就已经对这些文件进行了索引。

我的日志中充满了这些请求,当然会抛出 404 错误。由于这些请求来自不同的 IP 地址,因此我无法直接阻止 IP。

我想知道在这种情况下最好的应对措施是什么。欢迎提出各种想法。

答案1

安德烈斯,

有很多不同的方法可以解决这个问题。。您的日志中发生了什么。。机器人正在利用的众多浏览器漏洞之一。这些机器人中的大多数都针对 Microsoft 服务器,现在针对存在安全漏洞的 Web 应用程序。

您可以在 Web 服务器配置中创建黑名单规则。下面的链接提供了一些使用“mod-rewrite”(如果启用)处理此问题的不同方法的很好示例。

最好的办法是要么让他们自己处理,要么放弃/删除该请求而不去处理它。

这样,您的服务器性能将会提高,因为不需要搜索所有配置和文件来查找所要求的 URL。

这是管理上的麻烦。这是处理这个问题的更好方法之一。除非像上面评论的那样,你的 web 服务器前面有一个缓存服务器。

https://perishablepress.com/eight-ways-to-blacklist-with-apaches-mod_rewrite/

希望这能有所帮助。干杯...

相关内容