--- title: Flarum --- # Flarum Extensão oficial da CaptchaLa para Flarum. Adiciona verificação CAPTCHA às ações que bots costumam atacar em um fórum — cadastro, login, redefinição de senha e publicação — com toggles por ação no painel admin. ## O que ela cobre Cada ação abaixo é um toggle individual em `Admin → Extensões → CaptchaLa`. - Cadastro - Login - Redefinição de senha - Respostas em posts - Novas discussões - Edição de perfil Sessões autenticadas abertas via um provedor SSO / Auth Sync são isentas — veja [SSO / Auth Sync](#sso-auth-sync) abaixo. ## Instalação ### 1. Adicione a extensão via Composer A partir da raiz da sua instalação do Flarum: ```bash composer require captchala/flarum ``` Alternativamente, em `Admin → Extension Manager` cole `captchala/flarum` no campo **Install**. A extensão tem como alvo Flarum ≥ 1.8 e PHP ≥ 8.1. ### 2. Habilite no painel admin Abra `Admin → Extensões`, encontre **CaptchaLa** e clique em **Enable**. ### 3. Configure No painel de configurações da extensão: 1. Cole sua **App Key** e **App Secret** de [`dash.captcha.la`](https://dash.captcha.la). 2. Habilite quais ações proteger. 3. Salve. ## Configuração As configurações são armazenadas na tabela padrão de settings do Flarum sob o prefixo `captchala.*`. | Configuração | Tipo | Padrão | Descrição | | --- | --- | --- | --- | | App Key | string | — | Chave pública (`cl_pub_…`) do painel da CaptchaLa. Obrigatória. | | App Secret | string | — | Segredo do servidor. Obrigatório. Usado apenas no servidor para chamar `/v1/validate`. | | Proteger cadastro | bool | `true` | Desafio no sign-up. | | Proteger login | bool | `false` | Desafio na modal de login. Desligado por padrão porque a maioria dos fóruns protege o login com rate limiting. | | Proteger redefinição de senha | bool | `true` | Desafio ao solicitar e-mail de redefinição de senha. | | Proteger respostas em posts | bool | `false` | Desafio ao publicar uma resposta. Desligado por padrão; habilite se o fórum estiver sob pressão de spam. | | Proteger novas discussões | bool | `false` | Desafio ao abrir uma discussão. | | Modo de verificação | enum | `popup` | Um de `popup`, `bind`, `embed`. Mapeia para a opção `product` do SDK Web. | | Tema | enum | `auto` | `light`, `dark` ou `auto`. | | Pular para usuários confiáveis | bool | `true` | Usuários em grupos marcados como confiáveis (ex.: moderadores) ignoram o desafio. | ## SSO / Auth Sync A extensão coopera com os hooks padrão de provedor de autenticação do Flarum (`UserAuthenticated`, provedores Auth Sync de terceiros, bridges OAuth). - Se o usuário chega via uma sessão SSO autenticada, nenhum desafio é renderizado — a extensão trata a sessão como já verificada. - Em setups mistos onde alguns usuários entram via SSO e outros pelo formulário local, apenas o caminho do formulário local executa o desafio. - O toggle `skip_for_trusted_users` se acumula sobre isso: grupos confiáveis ignoram o desafio mesmo num login via formulário local. ## FAQ **A extensão é gratuita?** Sim. O pacote Composer é gratuito. O plano gratuito da CaptchaLa cobre 10.000 verificações por mês. **Ela barra cadastros spam?** Bloqueia ou desafia a maioria dos cadastros automatizados já no primeiro risk score. Nenhum CAPTCHA barra 100% — mas, nos nossos fóruns de teste, o volume de cadastros spam cai mais ou menos uma ordem de grandeza depois de ativar. **Posso exigir CAPTCHA somente no cadastro?** Sim. Cada ação é um toggle separado. O perfil padrão habilita apenas cadastro e redefinição de senha. **Funciona com SSO / Auth Sync?** Sim. Sessões abertas por um provedor SSO / Auth Sync ignoram o desafio. Veja [SSO / Auth Sync](#sso-auth-sync). **É open source?** Sim — o código da extensão PHP é open source. As chamadas de verificação são feitas contra o serviço hospedado da CaptchaLa. ## Código-fonte - Repositório da extensão: [`github.com/Captcha-La/captchala-flarum`](https://github.com/Captcha-La/captchala-flarum) - Packagist: [`captchala/flarum`](https://packagist.org/packages/captchala/flarum) - Relacionados: [SDK Web](/pt-BR/web-sdk) · [SDK PHP Server](/pt-BR/sdk/server-php) · [Referência da API](/pt-BR/api-reference)