Integrationen / Symfony

CAPTCHA-Bundle für Symfony

captchacore/captchacore-bundle für Symfony 6.4 LTS und 7.x — FormType, Validator-Constraint, Controller-Attribute und Twig-Funktion. Sie wählen, was zu Ihrem Projekt passt.

Symfony 6.4 LTS & 7.x PHP 8.2+ Symfony Flex

In drei Schritten

Symfony in wenigen Minuten schützen

01

Bundle installieren

composer require — Symfony Flex registriert das Bundle und legt die Konfigurationsdatei an.

02

Schlüssel in die .env

CAPTCHACORE_URL, Site-Key und Secret als Umgebungsvariablen.

03

Integrationsweg wählen

FormType für Symfony-Formulare, Constraint für DTOs, Attribut für Controller, Twig-Funktion für alles andere.

composer require captchacore/captchacore-bundle

# .env
CAPTCHACORE_SITE_KEY=cc_pub_…
CAPTCHACORE_SECRET_KEY=cc_sec_…

// FormType
$builder->add('captcha', CaptchaCoreType::class, [
    'form_type' => 'contact',
]);

// oder als Attribut am Controller
#[RequiresCaptcha(formType: 'register')]
public function register(Request $request): Response

Was drin ist

Gebaut für Symfony, nicht nur kompatibel

FormType

Ein Feld im Form-Builder rendert Widget und Token; die Prüfung passiert in handleRequest().

Validator-Constraint

Für DTOs und API-Payloads: #[CaptchaCoreToken] am Property, geprüft wie jede andere Constraint.

Controller-Attribut

#[RequiresCaptcha] prüft den Token, bevor die Action läuft — ohne Code in der Methode.

Twig-Funktion

captchacore_widget() für handgebaute Formulare außerhalb der Form-Komponente.

Security-Badge

Optionaler Hinweis „geschützt durch CaptchaCore" mit Link zur Datenschutzerklärung.

Tests ohne Netz

Der Client ist ein Service — in Tests durch einen Fake ersetzen, fertig.

Keine Bilderrätsel

Proof-of-Work und Verhaltensanalyse statt Ampeln und Zebrastreifen — Menschen klicken einmal, Bots rechnen sich tot.

Server in Deutschland

Verarbeitung auf eigenen Servern, keine Übertragung in Drittländer, kein Tracking über Seiten hinweg.

16 KB, kein Framework

Das Widget lädt schnell, blockiert nie die Oberfläche und ist per Tastatur und Screenreader bedienbar.

Häufige Fragen zu Symfony

Brauche ich Symfony Flex?

Nein, aber es spart die manuelle Registrierung des Bundles und die Konfigurationsdatei.

Funktioniert es mit API Platform?

Ja, über die Validator-Constraint an Ihren Input-DTOs.

Welche PHP-Version?

PHP 8.2 oder neuer, passend zu Symfony 6.4 LTS und 7.x.

Alle Details, Optionen und Codebeispiele: Dokumentation →

Weitere Integrationen