Next.js
TrustCaptcha – Protection anti-bots

Intégration CAPTCHA Next.js

Intégrez TrustCaptcha dans un Route Handler Next.js ou une Server Action avec quelques lignes de TypeScript. Stoppez le spam automatisé sur les connexions, inscriptions et formulaires de contact — avec notre widget React côté client et la vérification côté serveur. Hébergé dans l’UE, conforme RGPD et sans énigmes visuelles.

Démarrage rapide

Comment fonctionne l'intégration

1. Créer un CAPTCHA

Créez un compte utilisateur ou connectez-vous avec un compte existant. Ensuite, créez un nouveau CAPTCHA ou sélectionnez-en un existant. Si vous ne savez pas encore si TrustCaptcha vous convient, essayez notre service CAPTCHA sans risque pendant 14 jours gratuitement.

Sur la page d’aperçu du CAPTCHA, vous trouverez toutes les informations importantes, comme la clé de site et la clé de licence, et vous pouvez aussi y créer votre API key. Autorisez simplement vos sites web à utiliser votre CAPTCHA en les ajoutant à la liste des domaines autorisés dans les règles de sécurité du CAPTCHA.

Début du formulaire de création du CAPTCHA.
Règles de sécurité CAPTCHA d’un CAPTCHA de démonstration.

2. Ajouter le widget CAPTCHA dans votre composant de formulaire

Utilisez notre wrapper React dans le composant client qui rend votre formulaire. Le widget s’exécute en arrière-plan et ajoute un champ caché tc-verification-token lors de l’envoi, que les Server Actions et Route Handlers reçoivent en tant que form data.

Commencez par installer notre package React TrustCaptcha :

Install
bash
npm i @trustcomponent/trustcaptcha-react

Ajoutez ensuite le composant <TrustcaptchaComponent> dans le composant client qui rend votre formulaire :

app/contact/contact-form.tsx
TypeScript
"use client";

import { TrustcaptchaComponent } from "@trustcomponent/trustcaptcha-react";

export function ContactForm() {
  return (
    <form method="post" action="/api/contact">
      <input type="email" name="email" required />
      <TrustcaptchaComponent sitekey="<your_site_key>" />
      <button type="submit">Send</button>
    </form>
  );
}

Le widget CAPTCHA s’affichera ensuite dans votre formulaire :

CAPTCHA terminé

Besoin d’informations détaillées sur l’intégration du widget React CAPTCHA ?
Pour la référence complète — y compris thèmes, langues, design personnalisé et plus encore — veuillez consulter notre documentation.

Lire la documentation

3. Valider le jeton dans un Route Handler ou une Server Action

Dans un Route Handler Next.js (ou une Server Action), récupérez le jeton de vérification depuis les form data, consultez le résultat via notre bibliothèque Node.js et décidez si la requête doit être acceptée.

Commencez par installer notre bibliothèque Node.js TrustCaptcha :

Install
bash
npm i @trustcomponent/trustcaptcha-nodejs

Validez ensuite le jeton dans votre Route Handler et agissez en fonction du résultat :

app/api/contact/route.ts
TypeScript
import { NextResponse } from "next/server";
import { TrustCaptcha } from "@trustcomponent/trustcaptcha-nodejs";

export async function POST(request: Request) {
  const formData = await request.formData();
  const token = String(formData.get("tc-verification-token") ?? "");

  try {
    const result = await TrustCaptcha.getVerificationResult(process.env.TRUSTCAPTCHA_API_KEY!, token);
    if (!result.verificationPassed || result.score > 0.5) {
      return NextResponse.json({ error: "CAPTCHA verification failed." }, { status: 400 });
    }
  } catch {
    return NextResponse.json({ error: "CAPTCHA verification failed." }, { status: 400 });
  }

  // CAPTCHA validé — traiter la requête
  return NextResponse.json({ status: "ok" });
}

Besoin d’informations détaillées sur l’intégration CAPTCHA Next.js ?
Pour des instructions détaillées étape par étape — y compris une variante Server Action et un utilitaire de vérification réutilisable — veuillez consulter notre documentation.

Lire la documentation

Un autre framework backend que Next.js ?
Si vous utilisez un autre framework, choisissez la recette correspondante ici. Si votre framework n’est pas listé, vos développeurs peuvent intégrer la vérification eux-mêmes à l’aide de notre documentation ou contacter notre équipe support pour demander une intégration préconstruite.

Actix Web
ASP.NET Core
Axum
Django
Echo
Express
FastAPI
Fastify
Fiber
Flask
Gin
Hapi
Laravel
Micronaut
NestJS
Next.js
Quarkus
Ruby on Rails
Sinatra
Spring Boot
Symfony

4. Félicitations 🎉

Vous êtes maintenant protégé par TrustCaptcha — félicitations !

CAPTCHA terminé

FAQs

TrustCaptcha fonctionne-t-il avec App Router et Pages Router ?
Oui, les deux. Dans App Router, vous validez généralement le jeton dans un Route Handler (app/api/.../route.ts) ou une Server Action. Dans Pages Router, vous faites la même chose dans une route API (pages/api/...) — l’appel au SDK est identique.
Puis-je vérifier le CAPTCHA depuis une Server Action ?
Oui — et c’est tout à fait adapté. Lisez le jeton depuis le FormData passé à votre action « use server », appelez notre bibliothèque Node.js et retournez une erreur en cas d’échec. Le CAPTCHA reste entièrement côté serveur, et votre composant client ne touche jamais la clé d’API.
Le widget React fonctionne-t-il dans un Server Component ?
Le widget lui-même s’exécute dans le navigateur, rendez-le donc depuis un composant client (« use client »). Le formulaire peut quand même être soumis à une Server Action ou à un Route Handler — la vérification se fait entièrement côté serveur.
Puis-je exécuter la vérification CAPTCHA sur le runtime Edge ?
Non. Notre bibliothèque Node.js utilise des API Node-only (axios), définissez donc le runtime sur « nodejs » pour les routes qui vérifient les jetons CAPTCHA. Le runtime par défaut dans Next.js est déjà « nodejs », vous n’avez à intervenir que si vous avez explicitement défini runtime = « edge ».
Où stocker la clé d’API CAPTCHA dans un projet Next.js ?
Dans .env.local en développement et dans les variables d’environnement de votre hébergeur (Vercel, Netlify, …) en production. Lisez-la via process.env.TRUSTCAPTCHA_API_KEY dans du code server-only — ne l’exposez jamais via NEXT_PUBLIC_*.
Comment garder l’utilitaire de vérification CAPTCHA hors du bundle client ?
Ajoutez import "server-only" en haut du fichier qui importe la bibliothèque Node.js. Cela fait échouer le build de Next.js si le fichier est tiré dans un composant client, ce qui empêche d’expédier accidentellement la clé d’API au navigateur.
Vous perdez des prospects à cause des CAPTCHAs ?

TrustCaptcha bloque le spam et les bots, pas vos clients. Sans puzzle, conforme au RGPD, hébergé en UE.

Début du CAPTCHA
CAPTCHA terminé
UX sans énigmes
Fonctionne en arrière-plan pendant que les visiteurs saisissent leurs informations — ainsi davantage de personnes terminent vos formulaires et moins abandonnent.
Compatible RGPD
Hébergé dans l’UE et conçu dans une logique privacy-first : pas de cookies, transmission chiffrée, nettoyage automatique — avec des ressources juridiques prêtes à l’emploi.
Sécurité multicouche
Une protection adaptative et un scoring de risque intelligent stoppent les abus très tôt — même en cas de pic d’attaques.
Contrôle total
Ajustez la sensibilité, définissez des listes d’autorisation/refus et utilisez le géoblocage — c’est vous qui décidez du niveau de strictesse de la vérification.

Protégez votre application Next.js avec TrustCaptcha en quelques étapes !

  • Hébergé en UE & conforme RGPD
  • Aucun puzzle
  • Essai gratuit de 14 jours