Skip to content

Flarum

CaptchaLa 官方 Flarum 擴充。為論壇上最常被機器人盯上的動作 —— 註冊、登入、重設密碼與發文 —— 加上 CAPTCHA 驗證,並於後台提供依動作粒度的開關。

涵蓋範圍

下列每一項在 Admin → Extensions → CaptchaLa 中皆為獨立的開關。

  • 註冊
  • 登入
  • 重設密碼
  • 文章回覆
  • 新建討論
  • 個人資料編輯

透過 SSO / Auth Sync 提供者建立的已認證連線會被豁免 —— 詳見下方 SSO / Auth Sync

安裝

1. 引入擴充

於 Flarum 安裝目錄下執行:

bash
composer require captchala/flarum

或在 Admin → Extension Manager 中將 captchala/flarum 貼到 Install 輸入框。擴充需要 Flarum ≥ 1.8 與 PHP ≥ 8.1。

2. 於後台啟用

開啟 Admin → Extensions,找到 CaptchaLa,點擊 Enable

3. 設定

於擴充的設定面板中:

  1. 貼上來自 dash.captcha.laApp KeyApp Secret
  2. 勾選要保護的動作。
  3. 儲存。

設定項目

設定儲存於 Flarum 標準 settings 資料表,使用 captchala.* 前綴。

設定項目型別預設值說明
App Keystring來自 CaptchaLa 控制台的公開金鑰(cl_pub_…)。必填。
App Secretstring伺服端密鑰。必填。僅伺服端使用,用於呼叫 /v1/validate
保護註冊booltrue註冊時觸發挑戰。
保護登入boolfalse登入彈窗觸發挑戰。預設關閉,多數論壇透過限流保護登入。
保護重設密碼booltrue請求重設信件時觸發挑戰。
保護文章回覆boolfalse發表回覆時觸發挑戰。預設關閉;若論壇承受壓力可啟用。
保護新建討論boolfalse新建討論時觸發挑戰。
驗證模式enumpopup可選 popupbindembed。對應 Web SDK 的 product 選項。
主題enumautolightdark,或 auto
略過可信使用者booltrue標記為可信的使用者群組(如版主)會跳過挑戰。

SSO / Auth Sync

擴充會與 Flarum 標準的驗證鉤子(UserAuthenticated、第三方 Auth Sync 提供者、OAuth 橋接)協同運作。

  • 使用者透過已認證的 SSO 連線進入時不會渲染挑戰 —— 擴充將該連線視為已驗證。
  • 在 SSO 與本地登入混合的部署下,僅本地登入路徑會觸發挑戰。
  • 「略過可信使用者」開關會疊加於此之上:即便走的是本地登入,可信使用者群組仍會跳過挑戰。

常見問題

擴充是免費的嗎?

是的。Composer 套件本身免費。CaptchaLa 免費方案包含每月 1,000 次驗證。

能擋住垃圾註冊嗎?

絕大多數自動化註冊會在第一輪風險評分時被挑戰或攔截。沒有任何 CAPTCHA 能 100% 阻擋 —— 但在我們的測試論壇中,啟用後垃圾註冊量大致下降一個數量級。

可以只在註冊時啟用嗎?

可以。每個動作都是獨立的開關。預設設定僅啟用註冊和重設密碼。

支援 SSO / Auth Sync 嗎?

支援。SSO / Auth Sync 提供者建立的連線會跳過挑戰。請見 SSO / Auth Sync

是開源的嗎?

是的 —— PHP 擴充程式碼開源。驗證呼叫走 CaptchaLa 託管服務。

原始碼

MIT-licensed examples · CaptchaLa is operated independently