Skip to content

SDK Web ​

Le SDK Web prend en charge tous les navigateurs modernes avec plusieurs méthodes d'intégration.

Voyez-le fonctionner en 30 secondes

demo-v1.captcha.la — HTML + PHP pur, sous licence MIT, code source consultable sur chaque page.

Démarrage rapide ​

html
<!-- 1. Load via CDN (or npm install captchala) -->
<script src="https://cdn.captcha-cdn.net/captchala-loader.js"></script>

<button id="login-btn">Sign in</button>

<script>
loadCaptchala(function () {
  Captchala.init({
    appKey: 'YOUR_APP_KEY',
    product: 'bind',
    action: 'login',
    lang: 'auto',
  })
  .onSuccess(res => sendToBackend(res.token))
  .onError(err => console.error(err.message))
  .bindTo('#login-btn');
});
</script>

Installation ​

CDN ​

html
<!-- Recommended: auto-fallback loader, ~6 KB gzip -->
<script src="https://cdn.captcha-cdn.net/captchala-loader.js"></script>

NPM ​

bash
npm install captchala
# or framework wrappers
npm install @captcha-la/vue
npm install @captcha-la/react
js
import Captchala from 'captchala';
import 'captchala/dist/captchala.css';

Modes ​

Mode popup ​

js
Captchala.init({ appKey: 'YOUR_APP_KEY', product: 'popup', action: 'login' })
  .bindTo('#login-btn')
  .onSuccess(res => sendToBackend(res.token));

Mode flottant ​

js
Captchala.init({ appKey: 'YOUR_APP_KEY', product: 'float', action: 'browse' })
  .appendTo('#captcha-container')
  .onSuccess(res => sendToBackend(res.token));

Mode bind ​

js
Captchala.init({ appKey: 'YOUR_APP_KEY', product: 'bind', action: 'login' })
  .bindTo('#submit-button')
  .onSuccess(res => submitForm(res.token));   // fires only after challenge passes

Mode embed ​

js
Captchala.init({ appKey: 'YOUR_APP_KEY', product: 'embed', action: 'register' })
  .appendTo('#captcha-container')
  .onSuccess(res => sendToBackend(res.token));

Options communes ​

ParamètreTypeValeur par défautDescription
appKeystring—Clé d'application (obligatoire)
productstringpopupMode d'affichage : popup
actionstringdefaultScène métier (par ex. login, register, pay). Le serveur applique des politiques de sécurité différentes selon la scène.
langstringautoÉtiquette BCP-47 (par ex. en, ja, pt-BR) ou auto pour suivre navigator.language. Voir Langues prises en charge — 54 locales.
serverTokenstring—Token à usage unique (sct_xxx) émis par votre serveur. Fortement recommandé en production — empêche les abus de rafraîchissement illimité du challenge.
onServerTokenExpired() => Promise<string>—Appelé lorsque le serverToken expire ; renvoyez-en un nouveau pour que le SDK puisse continuer sans interrompre le flux.
enableVoicebooleantrueAffiche le point d'entrée du CAPTCHA audio (prise en charge de l'accessibilité pour les utilisateurs malvoyants).

Validation côté serveur ​

Après onSuccess, envoyez res.token (préfixe pt_) à votre propre backend, puis validez-le côté serveur :

bash
POST https://apiv1.captcha.la/v1/validate
X-App-Key: YOUR_APP_KEY
X-App-Secret: YOUR_APP_SECRET
Content-Type: application/json

{ "pass_token": "<token>" }

Consultez la Référence de l'API pour l'endpoint de validation complet.

MIT-licensed examples · CaptchaLa is operated independently