Skip to content

WordPress

CaptchaLa 官方 WordPress 外掛。無需撰寫任何程式碼,即可為 WordPress 核心表單以及主流表單、電商和社群外掛加上 CAPTCHA 驗證。

涵蓋範圍

下列每一項在外掛設定面板中皆為獨立的核取方塊 —— 只勾選您實際想要保護的入口即可。

  • WordPress 登入
  • WordPress 註冊
  • WordPress 留言
  • WordPress 重設密碼
  • WooCommerce 結帳
  • WooCommerce 註冊帳號
  • WooCommerce 登入
  • Contact Form 7
  • Gravity Forms
  • WPForms
  • Elementor Forms
  • BBPress(主題與回覆)
  • BuddyPress(註冊與動態)

若某個表單外掛尚未安裝,對應的開關會自動隱藏 —— 外掛在啟動時會偵測當前可用的整合。

安裝

1. 安裝外掛

兩種方式:

  • WordPress 後台 —— 進入 外掛安裝外掛,搜尋 CaptchaLa,點擊 安裝啟用
  • 手動上傳 —— 從 github.com/Captcha-La/captchala-wordpress/releases 下載最新版本的 zip 檔,於 外掛安裝外掛上傳外掛 上傳並啟用。

外掛需要 WordPress ≥ 6.0 與 PHP ≥ 7.4。

2. 取得金鑰

dash.captcha.la 註冊帳號、建立一個應用,然後複製:

  • App Key —— 公開金鑰,會嵌入頁面中
  • App Secret —— 僅伺服端使用,由 WordPress 呼叫 /v1/validate 時使用

3. 串接設定

於 WP 後台左側選單開啟 CaptchaLa

  1. 貼上 App KeyApp Secret
  2. 選擇驗證模式(popup、bind、embed 或 float —— 請見 Web SDK)。
  3. 勾選需要保護的表單。
  4. 點擊 儲存變更

開啟其中一個已保護的表單(建議使用無痕視窗)確認挑戰能正常呈現。

設定項目

所有設定皆位於 WP 後台 → CaptchaLa。外掛以單一 WordPress option(captchala_settings)儲存。

設定項目型別預設值說明
App Keystring來自 CaptchaLa 控制台的公開金鑰(cl_pub_…)。必填。
App Secretstring伺服端密鑰。必填。不會暴露給瀏覽器。
驗證模式enumpopup可選 popupbindembedfloat。對應 Web SDK 的 product 選項。
表單開關bool[]全部關閉每個支援的表單一個開關(請見 涵蓋範圍)。
延遲載入booltrue啟用後,僅在包含受保護表單的頁面才會載入 CaptchaLa loader。
主題enumautolightdark,或 auto(跟隨使用者系統設定)。
Action 標籤string依表單而定驗證時送出的 action 字串(loginregistercommentwc_checkout 等)。外掛已提供合理預設值,僅在有特定需求時覆寫。
綁定 IPbooltrue在簽發與驗證時附帶訪客 IP。若部署在不會轉發客戶端 IP 的反向代理之後請關閉。
驗證失敗時阻擋booltrue關閉後,驗證失敗僅記錄日誌,表單仍會送出。適合灰度上線,不建議用於正式環境。

設定亦可從設定頁底部以 JSON 形式匯出 / 匯入。

常見問題

外掛是免費的嗎?

是的,WordPress 外掛本身免費。CaptchaLa 免費方案包含每月 1,000 次驗證 —— 僅在需要更高用量時才會涉及付費方案。

會讓網站變慢嗎?

loader 採延遲載入,僅在渲染了受保護表單的頁面才會引入。在多數地區,驗證呼叫由邊緣節點在 100ms 內回應。首頁不會注入任何追蹤指令稿。

支援 WooCommerce 嗎?

支援。結帳、註冊帳號與登入皆開箱即用,每項都是獨立的開關。外掛掛接 WooCommerce 標準的驗證流程,因此驗證失敗會以一般的 WooCommerce 表單錯誤呈現。

需要寫程式嗎?

不需要。安裝、貼上兩組金鑰、勾選要保護的表單即可。若有客製化需求,亦提供若干 filter 鉤子,但都是選用的。

符合 GDPR 嗎?

CaptchaLa 以隱私為先:不載入第三方追蹤像素、不送出廣告訊號,WordPress 外掛僅傳輸完成單次挑戰所需的資料。可透過 CaptchaLa 控制台依請求匯出或刪除資料。

原始碼

MIT-licensed examples · CaptchaLa is operated independently