> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# reCAPTCHA

> Wie schützen Sie Anmeldung, Registrierung und das Zurücksetzen des Passworts mit Google reCAPTCHA?

> [!NOTE]
>
> Diese Funktion wurde von [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro) entwickelt und ist ab v6.4.0 verfügbar.

Die Anmeldung per E-Mail und Passwort, die LDAP-Anmeldung, die Registrierung und das Zurücksetzen des Passworts können ein Google reCAPTCHA v2 (unsichtbar) abfragen. Standardmäßig ist es deaktiviert. Die meisten Benutzer bemerken nichts: Die Prüfung läuft, wenn sie auf die Schaltfläche klicken, und Google zeigt nur dann eine Bildaufgabe an, wenn die Anfrage verdächtig erscheint. SAML- und OIDC-Anmeldungen sowie von einem Administrator erstellte Konten sind nicht betroffen.

1. Erstellen Sie in der [reCAPTCHA-Admin-Konsole](https://www.google.com/recaptcha/admin) einen Schlüssel vom Typ **reCAPTCHA v2**, **Invisible reCAPTCHA badge**, und fügen Sie die Domain Ihrer Instanz hinzu. Eine Domain umfasst auch ihre Subdomains, z. B. umfasst `example.com` auch `latex.example.com`.
2. Setzen Sie die beiden Schlüssel in `config/variables.env` und führen Sie `bin/up` aus:

```text theme={null}
RECAPTCHA_SITE_KEY=<site key>
RECAPTCHA_SECRET_KEY=<secret key>
```

| Variable | Standard | Zweck |
| - | - | - |
| `RECAPTCHA_SITE_KEY` | Nicht gesetzt | Aktiviert das Captcha für Anmeldung, LDAP-Anmeldung, Registrierung und das Zurücksetzen des Passworts. |
| `RECAPTCHA_SECRET_KEY` | Nicht gesetzt | Geheimer Schlüssel desselben reCAPTCHA-Schlüssels, mit dem der Server die Antworten prüft. |
| `RECAPTCHA_ENDPOINT` | `https://www.google.com/recaptcha/api/siteverify` | Wo der Server die Antworten prüft. Wenn `www.google.com` nicht erreichbar ist, verwenden Sie `https://www.recaptcha.net/recaptcha/api/siteverify`. |
| `CAPTCHA_TRUSTED_USERS` | Nicht gesetzt | Durch Kommas getrennte E-Mail-Adressen, die der Server ohne Prüfung des Captchas durchlässt. |
| `CAPTCHA_TRUSTED_USERS_REGEX` | Nicht gesetzt | Ein regulärer Ausdruck für solche E-Mail-Adressen; er muss auf die gesamte E-Mail-Adresse passen. |
| `DEVICE_HISTORY_SECRET` | Nicht gesetzt | 64 Hexadezimalzeichen, z. B. aus `openssl rand -hex 32`. Ermöglicht es einem Browser, der sich mit einer E-Mail-Adresse angemeldet hat, das Captcha für diese E-Mail-Adresse 90 Tage lang zu überspringen. Ist die Variable nicht gesetzt, erhält jede Anmeldung das Captcha. |

* Die Seiten laden das reCAPTCHA-Skript von `www.recaptcha.net`, was auch dort funktioniert, wo `www.google.com` blockiert ist.
* Registrierung und Zurücksetzen des Passworts fragen jedes Mal ab. Auch die LDAP-Anmeldung fragt jedes Mal ab, selbst mit `DEVICE_HISTORY_SECRET`: Sie übermittelt einen Benutzernamen, keine E-Mail-Adresse.
* Anmeldungen bleiben zusätzlich ratenbegrenzt: 20 Versuche pro Minute pro IP-Adresse und 10 Versuche pro 2 Minuten pro E-Mail-Adresse.
* Ayakaleaf Pro prüft nur, ob Google die Antwort akzeptiert. Scores und Schwellenwerte von reCAPTCHA v3 werden nicht unterstützt, und Google entscheidet, wann eine Aufgabe angezeigt wird.
* Um es auszuprobieren, bevor Sie einen Schlüssel haben, verwenden Sie die [Testschlüssel](https://developers.google.com/recaptcha/docs/faq) von Google: Jede Prüfung ist erfolgreich und das Widget zeigt eine Warnung an, verwenden Sie sie daher nicht in der Produktion.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.