簡介
你的 WordPress 網站天天被「撞」嗎?Wordfence 警報郵件堆滿你的信箱?IP 不停換,根本封鎖不完?
我告訴你一個祕密:你可能一直在封鎖錯誤的 IP 位址。
根據 Wordfence 的分析,如果你使用 Cloudflare,很多網站管理員都會遇到同一個問題:系統認不出真正的攻擊者,反而把 Cloudflare 自己的代理伺服器 IP 當成兇手,不停封鎖。結果呢?攻擊者躲在 Cloudflare 後面,繼續開槍。
這篇文章教你用 Cloudflare 的 WAF(Web Application Firewall)從最外層擋住駭客,一勞永逸地解決 WordPress 登入頁面被暴力破解的問題。而且完全免費!
你的問題根源在哪裡?
常見的設定錯誤:封鎖 Cloudflare 的 IP
如果你在 Wordfence 的警報郵件看到這樣的內容:
IP 位址為 162.158.114.144 的使用者因下列原因遭鎖定,無法登入…
停!這個 IP 不是駭客的真實 IP,這是 Cloudflare 的伺服器 IP。
為什麼會這樣?
當你把網站掛在 Cloudflare 後,所有的訪客流量都會先經過 Cloudflare 的伺服器,然後才被代理到你的 WordPress 伺服器。Wordfence 預設會看到 Cloudflare 的 IP,而不是攻擊者真正的 IP。
換句話說:你在「殺錯良民」,真正的駭客還在外面逍遙法外。

▲ 圖:左邊是常見的錯誤做法,右邊是正確的識別方式
解決方案:分兩步走

▲ 圖:完整的防護流程分為三個主要步驟
第一步(必做):修正 Wordfence 的 IP 識別設定
首先,你要告訴 Wordfence 去讀取正確的 HTTP Header,這樣它才能看到真正攻擊者的 IP。
具體步驟:
- 登入你的 WordPress 後台。
- 進入 Wordfence > All Options(所有選項)。
- 在左邊選單找到 General Wordfence Options(一般選項)。
- 搜尋或滾動到 How does Wordfence get IPs(Wordfence 如何獲取 IP)。
- 選擇:
Use the Cloudflare "CF-Connecting-IP" HTTP header to get a visitor IP
- 這是 Cloudflare 用戶的標準設定。
- 點擊 Save Changes(保存更改)。
完成後,Wordfence 就會開始正確識別真正的攻擊者 IP,你的後續封鎖動作才會有效。
第二步(治本方案):用 Cloudflare WAF 在最外層擋住駭客
光修正 Wordfence 還不夠,最好的防守是在最外層直接擋住。Cloudflare WAF 可以在流量還沒進到你的伺服器之前,就把惡意的登入嘗試攔下來。
為什麼這更有效?
- 節省伺服器資源:不讓攻擊流量消耗你的伺服器頻寬和運算能力。
- 效率極高:Bot 和自動化腳本根本過不了 Cloudflare 的驗證。
- 用戶友善:真人使用者只要輕輕按一下驗證就能登入。
設定 Cloudflare WAF 規則
- 登入 Cloudflare Dashboard,選擇你的 Domain(例如
k1chan.com)。 - 進入 Security 模組:
- 左邊選單點擊 Security > WAF。
- 建立新規則:
- 點擊 Create rule(或 Custom Rules)。
- 填寫規則名稱:
- Rule Name:
Protect Login
- 設定條件(非常重要):
- 第一個條件:
- Field:
URI Path - Operator:
contains - Value:
/wp-login.php
- Field:
- 點擊 OR,新增第二個條件(保護 XML-RPC,這是駭客最愛的攻擊點):
- Field:
URI Path - Operator:
contains - Value:
/xmlrpc.php
- Field:
- 選擇防護動作:
- Then take action:選擇 Managed Challenge
- 這會顯示一個簡單的「驗證你是人類」的小方塊給訪客。
- 部署規則:
- 點擊 Deploy。
結果:任何人嘗試訪問 /wp-login.php 或 /xmlrpc.php 時,Cloudflare 會先彈出一個人機驗證畫面。Bot 和自動化攻擊腳本無法通過,而真人使用者只需按一下就能進去。

▲ 圖:Managed Challenge 如何區分真人使用者和自動化攻擊
進階設定:如果你只在香港管理網站
如果你知道自己只會從香港的 IP 進行網站管理,可以進一步限制規則:
- 回到 Cloudflare WAF 規則編輯。
- 在你剛才設定的規則中,點擊 Edit。
- 新增一個 AND 條件:
- Field:
Country - Operator:
does not equal - Value:
Hong Kong - Action:
Block
效果:除了香港以外的所有 IP 都會被直接封鎖,根本連 Turnstile 驗證都見不到。這種做法極端有效,但記得只有在你確保自己不會從香港以外地方登入時才使用。
加強防護:隱藏你的 WordPress 登入路徑
即使設定了 WAF,駭客仍然知道 WordPress 的預設登入頁面在 /wp-login.php。你可以用一個簡單的外掛來改變它:
安裝 WPS Hide Login 外掛:
- 在 WordPress 後台進入 Plugins > Add New。
- 搜尋
WPS Hide Login。 - 安裝並啟用。
- 進入外掛設定,將登入路徑改成其他名稱(例如
/k1-manage或任何你想要的路徑)。
效果:這會讓自動化掃描工具和不知情的攻擊者直接失效,因為他們掃不到你的登入頁面。根據統計,這一步能擋掉超過 90% 的隨機攻擊。
Cloudflare 免費版包含什麼?
很多人擔心 WAF 需要付費。實際上不用:
- Cloudflare 免費版包含 5 條自訂防火牆規則。
- 我教你設定的
Protect Login規則只用了 1 條,你還有 4 條剩下來。 - Managed Challenge 驗證功能完全免費。
只有當你需要超過 20 條規則,或者想啟用 Cloudflare 的「託管規則集」(即 Cloudflare 幫你寫好的幾千條安全規則)時,才需要升級到付費版。
完整工作流程總結
步驟 動作 效果 第一步 修正 Wordfence IP 設定(選擇 CF-Connecting-IP) Wordfence 開始正確識別攻擊者真實 IP 第二步 在 Cloudflare WAF 設定 Managed Challenge 駭客進來時被要求驗證,Bot 全被擋 第三步(可選) 安裝 WPS Hide Login 隱藏登入路徑 90% 的隨機掃描攻擊直接失效 進階(可選) 設定地理位置限制 非香港 IP 直接封鎖
驗證設定是否成功
- 開啟一個 Incognito Mode(無痕視窗)。
- 訪問
yourdomain.com/wp-admin或yourdomain.com/wp-login.php。 - 如果看到 Cloudflare 的驗證畫面(通常是一個帶勾選框的小方塊),說明設定成功了。
- 勾選方塊通過驗證後,才會進入 WordPress 登入頁面。
常見問題解答
Q:設定後我自己登入會不會也被擋?
A:會的,但只是要驗證一次。Cloudflare 會記住你的瀏覽器指紋,之後通常不會再問。如果你經常從不同設備登入,可以考慮用 WPS Hide Login 改變登入路徑,然後只在 WAF 規則裡保護新的路徑。
Q:Managed Challenge 和 CAPTCHA 有什麼分別?
A:Managed Challenge 是 Cloudflare 的「聰明驗證」,通常只需要點一個格子。傳統 CAPTCHA 需要辨認圖片或解數學題,用戶體驗較差。Managed Challenge 的通過率更高,而且對真人和 Bot 的辨別能力更強。
Q:可以只針對特定國家設定 WAF 嗎?
A:可以。在 WAF 規則中加上 Country 條件,你可以只保護特定國家的流量,或者直接擋住特定國家。例如只擋除了香港以外的所有登入嘗試。
Q:Wordfence 免費版夠用嗎?
A:配合 Cloudflare WAF 使用的話,Wordfence 免費版完全夠用。Wordfence 在你的伺服器層做防守,Cloudflare 在網路邊緣(Edge)做防守,兩層防禦足以保護絕大多數的 WordPress 網站。
Q:設定完之後還需要做什麼?
A:
- 定期檢查 Wordfence 的警報郵件,確保沒有漏掉的威脅。
- 保持 WordPress、主題、外掛更新到最新版本。
- 使用強密碼並啟用二因素認證(2FA)。
- 定期備份你的網站。
成果期待
設定完以上步驟後,你應該會看到:
✅ Wordfence 警報大幅減少(因為 Bot 連門都進不來)
✅ 伺服器負載下降(Cloudflare 幫你擋掉了 99% 的垃圾流量)
✅ 登入嘗試失敗率接近 100%(來自 Bot 的攻擊)
✅ 真正的管理員登入體驗改善(只需驗證一次,之後暢通無阻)
總結
不需要花錢,不需要複雜的設定,只要三個步驟:
- 修正 Wordfence 的 IP 識別。
- 在 Cloudflare 設定 WAF Managed Challenge。
- (可選)隱藏你的 WordPress 登入路徑。
從現在開始,你的 WordPress 網站就受到多層防守的保護了!
延伸閱讀
有問題?在下方留言區提問,我會盡快回覆!
最後更新:2026 年 2 月 19 日
適用版本:WordPress 6.x + Wordfence 最新版 + Cloudflare 所有版本(包括免費版)
