Axum
TrustCaptcha – Bot-Schutz

Axum CAPTCHA-Integration

Binden Sie TrustCaptcha mit wenigen Zeilen Rust in einen Axum-Handler ein. Stoppen Sie botgetriebenen Spam in Logins, Registrierungen und Kontaktformularen mit einer geteilten TrustCaptcha-Instanz über Axums Typed State und einem kleinen async-Helper. 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 Formular einbauen

Binden Sie das TrustCaptcha-Widget in das HTML-Formular ein, das Ihr Axum-Handler ausliefert. Das Widget läuft im Hintergrund und fügt beim Absenden ein verstecktes Feld tc-verification-token hinzu, das axum::extract::Form in Ihr Struct deserialisiert.

contact.html
HTML
<script type="module" src="https://cdn.trustcomponent.com/trustcaptcha/3.0.x/trustcaptcha.esm.min.js"></script>

<form method="post" action="/contact">
    <input type="email" name="email" required>
    <trustcaptcha-component sitekey="<your_site_key>"></trustcaptcha-component>
    <button type="submit">Send</button>
</form>

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 Axum-Handler validieren

Holen Sie in Ihrem Axum-Handler den Verifikationstoken aus dem Formular, rufen Sie das Ergebnis über unseren Rust-Crate ab und entscheiden Sie, ob die Anfrage akzeptiert werden soll.

Installieren Sie zunächst unseren TrustCaptcha-Rust-Crate:

Install
bash
cargo add trustcaptcha@^3.0

Validieren Sie dann den Token in Ihrem Axum-Handler und reagieren Sie auf das Ergebnis:

src/main.rs
Rust
use axum::{extract::Form, http::StatusCode, response::IntoResponse};
use serde::Deserialize;
use trustcaptcha::trust_captcha::TrustCaptcha;

#[derive(Deserialize)]
struct ContactForm {
    email: String,
    #[serde(rename = "tc-verification-token")]
    tc_verification_token: String,
}

async fn submit(Form(form): Form<ContactForm>) -> impl IntoResponse {
    let trust_captcha = match TrustCaptcha::builder("<your_api_key>").build() {
        Ok(tc) => tc,
        Err(_) => return (StatusCode::INTERNAL_SERVER_ERROR, "CAPTCHA setup failed.").into_response(),
    };

    let result = match trust_captcha.get_verification_result(&form.tc_verification_token).await {
        Ok(r) => r,
        Err(_) => return (StatusCode::BAD_REQUEST, "CAPTCHA verification failed.").into_response(),
    };

    if !result.verification_passed || result.score > 0.5 {
        return (StatusCode::BAD_REQUEST, "CAPTCHA verification failed.").into_response();
    }

    // CAPTCHA bestanden — Anfrage verarbeiten
    (StatusCode::OK, "Thanks!").into_response()
}

Detaillierte Informationen zur Axum-CAPTCHA-Integration?
Für die vollständige Schritt-für-Schritt-Anleitung – inklusive einer geteilten TrustCaptcha-Instanz über Typed State und einem wiederverwendbaren verify_token-Helper – lesen Sie bitte unsere Dokumentation.

Dokumentation lesen

Anderes Backend-Framework statt Axum?
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.

4. Glückwunsch 🎉

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

CAPTCHA abgeschlossen

FAQs

Wo in einer Axum-App läuft die CAPTCHA-Verifizierung?
Im async-Handler, der das Formular-Submit empfängt. Binden Sie den Body mit axum::extract::Form<MyForm>, wobei MyForm den CAPTCHA-Token über #[serde(rename = "tc-verification-token")] trägt, und rufen Sie unseren Rust-Crate auf, um das Verifikationsergebnis zu holen.
Wie teile ich eine einzige TrustCaptcha-Instanz über Handler hinweg?
Bauen Sie sie einmal beim Start, kapseln Sie sie in Arc, legen Sie sie in ein AppState-Struct und hängen Sie es mit .with_state(state) an den Router an. Jeder Handler erhält dann State<AppState> und liest das SDK von dort – das Arc macht das Klonen günstig.
Sollte ich die CAPTCHA-Prüfung in einen eigenen Axum-Extractor auslagern?
Verlockend, aber FromRequestParts sieht nur Request-Parts (Header, URI), nicht den Form-Body – und Form<...> verbraucht den Body. Das sauberste Pattern ist ein kleiner async verify_token(...) Helper, aufgerufen aus jedem geschützten Handler mit dem ?-Operator.
Passt das Rust-SDK zu Axums Tokio-Runtime?
Ja. Der Crate ist async-/reqwest-basiert, Sie awaiten den Verifizierungs-Aufruf also direkt in Ihrem async fn Handler. Keine Blocking-Workarounds und keine Thread-Pool-Tricks nötig.
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 Axum-Anwendung mit TrustCaptcha – in nur wenigen Schritten!

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