Ruby on Rails
TrustCaptcha – Bot-Schutz

Ruby on Rails CAPTCHA-Integration

Binden Sie TrustCaptcha mit wenigen Zeilen Ruby in einen Rails-Controller – oder, noch sauberer, in einen before_action-Callback im ApplicationController – ein. Stoppen Sie botgetriebenen Spam in Logins, Registrierungen und Kontaktformularen, ohne protect_from_forgery oder Strong Params zu brechen. EU-gehostet, DSGVO-konform und ohne Bilderrätsel.

Schnellstart

So funktioniert die Integration

1. CAPTCHA erstellen

Erstellen Sie ein Benutzerkonto oder melden Sie sich mit einem bestehenden Konto an. Anschließend erstellen Sie ein neues CAPTCHA oder wählen Sie ein bereits vorhandenes aus. Wenn Sie sich nicht sicher sind, ob TrustCaptcha das Richtige für Sie ist, können Sie unseren CAPTCHA-Service 14 Tage lang kostenlos und ohne Risiko testen.

Auf der CAPTCHA-Übersichtsseite finden Sie alle wichtigen Informationen wie den site-key und den license-key, und Sie können dort auch Ihren API-Key erstellen. Ermöglichen Sie Ihren Websites den Zugriff auf Ihr CAPTCHA, indem Sie diese einfach zur Liste der autorisierten Domains in den CAPTCHA-Sicherheitsregeln hinzufügen.

Start des Formulars zur Erstellung eines CAPTCHA.
CAPTCHA-Sicherheitsregeln eines Demo-CAPTCHAs.

2. CAPTCHA-Widget in Ihr ERB-Template einbauen

Binden Sie das TrustCaptcha-Widget in das ERB-Template ein, das Ihr Formular rendert. Das Widget läuft im Hintergrund und fügt beim Absenden ein verstecktes Feld tc-verification-token hinzu, das auf params ankommt wie jeder andere 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 %>

Das CAPTCHA-Widget wird anschließend in Ihrem Formular angezeigt:

CAPTCHA abgeschlossen

Detaillierte Informationen zur CAPTCHA-Widget-Integration?
Für die vollständige Widget-Referenz – inklusive Themes, Sprachen, Custom Design und mehr – lesen Sie bitte unsere Dokumentation.

Dokumentation lesen

3. Token in Ihrem Rails-Controller validieren

Holen Sie in Ihrem Rails-Controller den Verifikationstoken aus params, rufen Sie das Ergebnis über unser Ruby-Gem ab und entscheiden Sie, ob die Anfrage akzeptiert werden soll.

Installieren Sie zunächst unser TrustCaptcha-Ruby-Gem:

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

Validieren Sie dann den Token in Ihrem Rails-Controller und reagieren Sie auf das Ergebnis:

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 bestanden — Anfrage verarbeiten
    redirect_to contact_success_path
  end
end

Detaillierte Informationen zur Ruby-on-Rails-CAPTCHA-Integration?
Für die vollständige Schritt-für-Schritt-Anleitung – inklusive eines wiederverwendbaren before_action-Callbacks – lesen Sie bitte unsere Dokumentation.

Dokumentation lesen

Anderes Backend-Framework statt Rails?
Wenn Sie ein anderes Framework nutzen, wählen Sie hier das passende Rezept aus. Ist Ihr Framework nicht aufgeführt, können Ihre Softwareentwickler die Verifizierung selbst integrieren – mithilfe unserer Dokumentation – oder unser Support-Team nach einer vorgefertigten Integration fragen.

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. Glückwunsch 🎉

Sie sind jetzt durch TrustCaptcha geschützt – Glückwunsch!

CAPTCHA abgeschlossen

FAQs

Wo in einer Rails-App läuft die CAPTCHA-Verifizierung?
In der Controller-Action, die das Formular-Submit empfängt – bevor Sie das Modell speichern oder die E-Mail versenden. Der CAPTCHA-Token kommt als regulärer Form-Parameter auf params an (Standardname: "tc-verification-token").
Kann ich die Verifizierung als before_action-Callback laufen lassen?
Ja – und das ist die sauberste Lösung, sobald Sie mehr als eine Action schützen. Definieren Sie eine private verify_trust_captcha-Methode im ApplicationController (oder in einem Concern), die unser Ruby-Gem aufruft und bei Fehler head :bad_request nutzt. Hängen Sie sie dann in jedem Controller mit before_action :verify_trust_captcha, only: :create an.
Ersetzt TrustCaptcha protect_from_forgery (CSRF) von Rails?
Nein. Rails CSRF-Schutz und TrustCaptcha sind unabhängige Schichten – beide sollten aktiviert bleiben. Der CAPTCHA-Token bestätigt nur, dass ein Mensch das Formular ausgefüllt hat – er schützt nicht vor Cross-Site Request Forgery.
Muss ich das Token-Feld in den Strong Params permittieren?
Nein. Der CAPTCHA-Token wird direkt aus params gelesen (params['tc-verification-token']), nicht über den Strong-Params-Hash des Modells. Ihre bestehende model_params-Methode bleibt unverändert.
Wo speichere ich den CAPTCHA-API-Key in einer Rails-App?
Nutzen Sie Rails Encrypted Credentials (rails credentials:edit) und lesen Sie den Key mit Rails.application.credentials.trustcaptcha[:api_key]. Bauen Sie eine einzige TrustCaptcha-Instanz einmalig in config/initializers/trustcaptcha.rb, um sie über alle Requests hinweg wiederzuverwenden.
Leads verlieren wegen CAPTCHAs?

TrustCaptcha blockiert Spam und Bots – nicht Ihre Kunden. Keine Rätsel, DSGVO-konform, in der EU gehostet.

CAPTCHA-Start
CAPTCHA abgeschlossen
Rätsel-freie UX
Läuft im Hintergrund, während Besucher tippen – so schließen mehr Personen Ihre Formulare ab und weniger brechen ab.
DSGVO-ready
EU-gehostet und privacy-first: keine Cookies, verschlüsselte Übertragung, automatische Bereinigung – inklusive sofort nutzbarer rechtlicher Ressourcen.
Mehrstufige Sicherheit
Adaptive Schutzmechanismen plus intelligentes Risiko-Scoring stoppen Missbrauch frühzeitig – selbst bei plötzlichen Angriffsspitzen.
Volle Kontrolle
Stellen Sie die Sensitivität ein, definieren Sie Allow-/Block-Listen und nutzen Sie Geoblocking – Sie entscheiden, wie streng die Verifizierung sein soll.

Schützen Sie Ihre Ruby on Rails-Anwendung mit TrustCaptcha – in nur wenigen Schritten!

  • EU-hosted & DSGVO-ready
  • Keine Rätsel
  • 14 Tage kostenlos testen