如何使用Cloudflare為WordPress網站攔截惡意機器人流量

如何使用Cloudflare為WordPress網站攔截惡意機器人流量

文章目录

  • 設定Cloudflare以抵禦機器人攻擊
  • 將您的網站連線到Cloudflare
  • 啟用機器人防禦模式
  • 設定JavaScript和託管挑戰
  • 監控結果
  • 檢視Cloudflare的安全分析
  • 檢視阿里雲資料
  • 小結

如何使用Cloudflare為WordPress網站攔截惡意機器人流量

如今網路比以往任何時候都更加繁忙,不僅有人類訪客,還有越來越多的自動化機器人、爬蟲和人工智慧工具不斷掃描網站,搜尋內容和資料。

雖然有些機器人很有幫助,例如搜尋引擎爬蟲可以幫助使用者發現內容,但其他一些機器人會迅速提升流量指標,扭曲分析資料,甚至導致不必要的託管費用超支。

在本指南中,我們將展示如何使用 Cloudflare 的免費安全工具,例如機器人防護模式、JavaScript 和託管挑戰,以及其他 Cloudflare 設定,來幫助您減少不必要的機器人流量,保護您的 WordPress 網站,並確保您的託管資源僅供真實訪客使用。

設定Cloudflare以抵禦機器人攻擊

您無需高階賬戶或複雜的配置即可使用 Cloudflare 阻止惡意機器人流量。免費的 Cloudflare 套餐提供多種強大的功能,足以顯著提升您的網站安全。

讓我們一步步引導您完成設定。

將您的網站連線到Cloudflare

如果您使用 Cloudflare 作為 WordPress 網站的 CDN 加速,您已經可以享受到強大的 Cloudflare 整合帶來的諸多優勢,包括企業級效能和全球 CDN。但是,要訪問高階安全工具,您需要連線自己的 Cloudflare 賬戶。

幸運的是,這個過程快速便捷。我們提供詳細的分步教程,指導您完成整個過程,從新增域名到配置 DNS 記錄和名稱伺服器。請按照以下指南連線您的網站:

👉 如何在您的 WordPress 網站上安裝和配置 Cloudflare

域名連線並啟用 Cloudflare 後,您就可以啟用相關功能,這些功能有助於保護您的網站免受惡意機器人和爬蟲流量的侵害,而不會影響真實訪客。

啟用機器人防禦模式

網站連線到 Cloudflare 後,過濾掉不必要的自動化流量最快捷有效的方法之一就是啟用機器人防禦模式

這項免費的 Cloudflare 功能有助於檢測和緩解已知的機器人程式,這些程式可能會抓取、竊取或使您的網站過載,即使它們試圖偽裝成真人訪問者。

要啟用機器人防禦模式,請按照以下步驟操作:

  1. 從左側選單中,轉到 Security > Settings
  2. 透過篩選條件(Filter by),選擇 Bot traffic
  3. 找到 Bot fight mode 並將其啟用。

“Bot Fight Mode”選項

Cloudflare 控制面板顯示“Bot Fight Mode”選項。

啟用後,您可以在你的伺服器訪問日誌分析中監控結果,因為 Cloudflare 會在非人類請求到達您的網站之前將其過濾掉,訪問量會開始下降。

如果您使用的是付費 Cloudflare 套餐,則可以訪問“Super Bot fight mode”,它是機器人攔截模式的增強版,更加靈活。它基於相同的技術,但允許您選擇如何處理不同的流量型別,啟用 JavaScript 檢測功能,以捕獲無頭瀏覽器、隱蔽爬蟲和其他惡意流量。

例如,您可以將該工具配置為僅阻止“definitely automated traffic”,並允許“verified bots”(例如搜尋引擎爬蟲)透過,而不是阻止所有爬蟲:

Cloudflare 的超級機器人防禦模式

Cloudflare 的超級機器人防禦模式

設定JavaScript和託管挑戰

即使啟用了機器人防禦模式,一些自動化爬蟲或 AI 工具仍然可能繞過防禦,尤其是那些模仿正常瀏覽行為的工具。

Cloudflare 的安全規則允許您透過挑戰的形式應用額外的保護,在授予訪問許可權之前驗證訪問者是否為真人。

您可以將 JS 挑戰應用於整個網站,但對於大多數 WordPress 網站而言,最好將其應用於特定路徑,例如:

  • /wp-login.php(WordPress 登入頁面)
  • /xmlrpc.php(常見的機器人目標)
  • /wp-admin/(管理後臺)

要新增 JavaScript 或託管挑戰規則:

  • 導航至 Security > Security Rules.
  • 點選 Create rule > Custom rules.
  • 輸入規則名稱(例如,JS Challenge for wp-login)。
  • When incoming requests match, 配置:
    • Field: URI Path
    • Operator: contains
    • Value: /wp-login.php

在 Cloudflare 中設定自定義規則

在 Cloudflare 中設定自定義規則。

您可以根據需要點選 Edit expression 新增更多條件,然後新增如下所示的表示式:

(http.host in {"example.com" "www.example.com"} and 
starts_with(http.request.uri.path, "/wp-admin") and 
not cf.client.bot and 
not http.request.uri.path contains "/wp-admin/admin-ajax.php")

上述示例針對 /wp-admin 區域,跳過已驗證的機器人,並排除 WordPress 外掛使用的 AJAX 端點。

Then take action 下,選擇以下選項之一:

  • JavaScript Challenge – 對每個訪問者執行瀏覽器測試。
  • Managed Challenge – 讓 Cloudflare 的 AI 根據行為和風險級別決定何時進行挑戰。

最後,點選 Deploy 以啟用規則。如果您想先進行測試,請選擇 Save as Draft

監控結果

啟用機器人攔截模式或設定您自己的 Cloudflare 規則後,務必確認您的更改是否生效,以及導致訪問量激增的自動化流量是否已被有效過濾。

Cloudflare 和您的伺服器都提供分析工具,可幫助您衡量效果。以下是如何將它們結合使用。

檢視Cloudflare的安全分析

在 Cloudflare 控制面板中,轉到 Security > Analytics > Bot Analysis

Cloudflare 機器人分析

Cloudflare 機器人分析。

此檢視清晰地展示了您網站總流量中由人類使用者和機器人分別產生的流量比例。

Cloudflare 會根據模式、機器學習和行為訊號,為每個傳入請求分配一個機器人評分。這些評分會根據流量型別進行分組,例如:

  • Automated – 明顯非人類的機器人。
  • Likely automated – 可疑的、類似機器人的請求(例如,無頭瀏覽器或 AI 爬蟲)。
  • Likely human – 使用真實瀏覽器的正常訪客。
  • Verified bot – 合法的機器人(例如 Googlebot 或 PayPal)。

機器人分析圖表會即時顯示這些類別。您可以使用篩選器(按國家/地區、IP 地址、瀏覽器或作業系統)來確定大部分自動化流量的來源。

篩選流量分析

篩選流量分析。

檢視阿里雲資料

接下來,開啟您的阿里雲控制面板 > 對應的 ECS 例項 > 監控

在阿里雲中檢視同時連線數分析

在阿里雲中檢視同時連線數分析。

由於伺服器一般基於每日唯一 IP 地址來衡量訪問量(而非像 Google Analytics 那樣基於 JavaScript 跟蹤),因此它可以準確反映所有訪問您網站的流量,包括那些繞過其他過濾器的機器人流量。

Cloudflare 開始攔截自動請求後,您應該會注意到總訪問量有所下降(因為機器人不再訪問您的源站)。

如果您仍然看到訪問量激增,則可以透過伺服器的日誌報告進一步深入分析,以識別任何重複請求的 URL 或 IP 地址。這些很可能是 Cloudflare 發起新挑戰或國家/地區封鎖的目標。

小結

管理不必要的機器人流量已成為現代網站運營的重要組成部分。藉助 Cloudflare 的免費工具,您可以快速過濾掉自動爬蟲和抓取程式,避免它們影響網站效能或增加主機空間使用量。

評論留言