Apache-2.2

如何阻止訪問不存在的虛假連結?

  • June 29, 2018

我在我的 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 以隨後阻止它們?

非常感謝您的建議。

您可以執行以下操作.htaccess來阻止所有以開頭/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?

引用自:https://serverfault.com/questions/917949