Ruby on Rails
TrustCaptcha – Protection anti-bots

Intégration CAPTCHA Ruby on Rails

Intégrez TrustCaptcha dans un contrôleur Rails — ou, encore plus propre, dans un callback before_action de l’ApplicationController — avec quelques lignes de Ruby. Stoppez le spam automatisé sur les connexions, inscriptions et formulaires de contact sans casser protect_from_forgery ni les strong params. 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 template ERB

Placez le widget TrustCaptcha dans le template ERB 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, qui arrive sur params comme tout autre input.

app/views/contacts/new.html.erb
HTML
<script type="module" src="https://cdn.trustcomponent.com/trustcaptcha/3.0.x/trustcaptcha.esm.min.js"></script>

<%= form_with url: contact_path, method: :post, local: true do |form| %>
    <%= form.email_field :email, required: true %>
    <trustcaptcha-component sitekey="<your_site_key>"></trustcaptcha-component>
    <%= form.submit "Send" %>
<% end %>

Le widget CAPTCHA s’affichera ensuite dans votre formulaire :

CAPTCHA terminé

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

Lire la documentation

3. Valider le jeton dans votre contrôleur Rails

Dans votre contrôleur Rails, récupérez le jeton de vérification depuis params, consultez le résultat via notre gem Ruby et décidez si la requête doit être acceptée.

Commencez par installer notre gem Ruby TrustCaptcha :

Gemfile
Ruby
gem 'trustcaptcha', '~> 3.0'

Validez ensuite le jeton dans votre contrôleur Rails et agissez en fonction du résultat :

app/controllers/contacts_controller.rb
Ruby
require 'trustcaptcha/trust_captcha'

class ContactsController < ApplicationController
  def create
    token = params['tc-verification-token'].to_s

    begin
      trust_captcha = TrustCaptcha.new('<your_api_key>')
      result = trust_captcha.get_verification_result(token)
    rescue StandardError
      flash.now[:alert] = 'CAPTCHA verification failed.'
      return render :new, status: :bad_request
    end

    if !result.verification_passed || result.score > 0.5
      flash.now[:alert] = 'CAPTCHA verification failed.'
      return render :new, status: :bad_request
    end

    # CAPTCHA validé — traiter la requête
    redirect_to contact_success_path
  end
end

Besoin d’informations détaillées sur l’intégration CAPTCHA Ruby on Rails ?
Pour des instructions détaillées étape par étape — y compris un callback before_action réutilisable — veuillez consulter notre documentation.

Lire la documentation

Un autre framework backend que Rails ?
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

Où dans une application Rails a lieu la vérification CAPTCHA ?
Dans l’action de contrôleur qui reçoit la soumission du formulaire, avant de persister le modèle ou d’envoyer l’e-mail. Le jeton CAPTCHA arrive comme un champ de formulaire classique sur params (nom par défaut : « tc-verification-token »).
Puis-je exécuter la vérification en tant que callback before_action ?
Oui — et c’est la solution la plus propre dès que vous protégez plusieurs actions. Définissez une méthode privée verify_trust_captcha dans ApplicationController (ou dans un Concern) qui appelle notre gem Ruby et utilise head :bad_request en cas d’échec. Ajoutez ensuite before_action :verify_trust_captcha, only: :create dans n’importe quel contrôleur.
TrustCaptcha remplace-t-il protect_from_forgery (CSRF) de Rails ?
Non. La protection CSRF de Rails et TrustCaptcha sont des couches indépendantes — les deux doivent rester activées. Le jeton CAPTCHA confirme uniquement qu’un humain a rempli le formulaire, il ne protège pas contre la falsification de requête intersites.
Dois-je permettre le champ du jeton dans les strong params ?
Non. Le jeton CAPTCHA est lu directement depuis params (params['tc-verification-token']), pas via le hash strong params du modèle. Votre méthode model_params existante reste inchangée.
Où dois-je stocker la clé d’API CAPTCHA dans une application Rails ?
Utilisez les Rails encrypted credentials (rails credentials:edit) et lisez la clé avec Rails.application.credentials.trustcaptcha[:api_key]. Créez une seule instance TrustCaptcha dans config/initializers/trustcaptcha.rb pour la réutiliser sur toutes les requêtes.
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 Ruby on Rails avec TrustCaptcha en quelques étapes !

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