如何阻止访问不存在的虚假链接?

如何阻止访问不存在的虚假链接?

我注意到我的 Google Analytics 帐户中显示我的网站突然受到大量垃圾流量的冲击,破坏了访客统计数据。网络服务器在 Ubuntu 18.04 和 Apache 上运行。

这甚至不是可以追踪来源的引荐垃圾邮件,但似乎是自动机器人垃圾邮件,发送到我网站上不存在的链接,可能是为了寻找受感染的文件。垃圾邮件机器人不使用完整的 URL,只访问某些子目录链接,例如:

/INVOICE-CT/11.php
/INVOICE-CT/1.php
/INVOICE-CT/counter/counter.php
/INVOICE-CT/process.php
/CT/b432.html
/CT/b136.html
/CT/c1428.html
/CT/b246.html
/CT/b510.html
/ct/0295.html
/CT/b118.html
/ct/b385.html
/CT/b738.html
/ct/c1559.html

阻止此类流量的最好方法是什么.htaccess

理想情况下,这不应该干扰“人为产生的” 404 错误。

由于 Google Analytics 不会透露访问者 IP,您如何识别 Ubuntu 中的机器人 IP 并随后阻止它们?

非常感谢您的建议。

答案1

您可以在 中执行类似以下的操作.htaccess来阻止所有以 或 开头的 URL /INVOICE-CT//CT/这将使用 mod_rewrite 返回系统生成的 (或自定义 Apache 404 错误文档,如果您已定义ErrorDocument):

RewriteEngine On
RewriteRule ^(invoice-)?ct/ - [R=404]

如果您的错误文档不包含 GA 代码,那么 GA 将不会记录该请求。

理想情况下,这不应该干扰“人为产生的” 404 错误。

我假设其他 404 是由您的 Web 应用程序而不是 Apache 生成的?否则,我们需要重新考虑上述方法并改写为其他 URL。

由于 Google Analytics 不会透露访问者 IP,您如何识别 Ubuntu 中的机器人 IP 并随后阻止它们?

显然这种方法无法识别机器人IP。任何要求指向这些完全无效 URL 的链接将以同样的方式被阻止。识别这些恶意机器人并非易事,最好使用 mod_security 或 fail2ban 等服务器模块来完成。

阻止此类流量的最好方法是什么.htaccess

“最佳方式”可能根本不使用.htaccess(或 Apache 配置),而是在您的 Web 应用程序本身中使用(以便优先处理“良好”流量)。只有当您的应用程序确定它是 404 时,才检查请求的 URL。如果它是这些完全无效的 URL 之一,则提供一个简单的(非 GA)404 文档,否则提供您的标准 404 错误文档(包含 GA 代码)。

...大量垃圾流量破坏了访客统计数据。

尽管可以推测这些“垃圾流量”已经产生了 404 错误并且没有击中您的真实 URL?

相关内容