> ## 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

> Jak chronić logowanie, rejestrację i reset hasła za pomocą Google reCAPTCHA?

> [!NOTE]
>
> Ta funkcja została opracowana przez [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro) i jest dostępna od v6.4.0.

Logowanie za pomocą adresu e-mail i hasła, logowanie LDAP, rejestracja oraz reset hasła mogą wymagać Google reCAPTCHA v2 (niewidocznej). Domyślnie jest ona wyłączona. Większość użytkowników niczego nie zauważy: weryfikacja uruchamia się po naciśnięciu przycisku, a Google wyświetla zadanie obrazkowe tylko wtedy, gdy uzna żądanie za podejrzane. Nie dotyczy to logowania przez SAML i OIDC ani kont utworzonych przez administratora.

1. W [konsoli administracyjnej reCAPTCHA](https://www.google.com/recaptcha/admin) utwórz klucz typu **reCAPTCHA v2**, **Invisible reCAPTCHA badge** i dodaj domenę swojej instancji. Domena obejmuje również swoje subdomeny, np. `example.com` obejmuje `latex.example.com`.
2. Ustaw oba klucze w `config/variables.env` i uruchom `bin/up`:

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

| Zmienna | Domyślnie | Przeznaczenie |
| - | - | - |
| `RECAPTCHA_SITE_KEY` | Nieustawiona | Włącza captchę dla logowania, logowania LDAP, rejestracji i resetu hasła. |
| `RECAPTCHA_SECRET_KEY` | Nieustawiona | Tajny klucz tego samego klucza reCAPTCHA, używany przez serwer do sprawdzania odpowiedzi. |
| `RECAPTCHA_ENDPOINT` | `https://www.google.com/recaptcha/api/siteverify` | Miejsce, w którym serwer sprawdza odpowiedzi. Jeśli `www.google.com` jest nieosiągalne, użyj `https://www.recaptcha.net/recaptcha/api/siteverify`. |
| `CAPTCHA_TRUSTED_USERS` | Nieustawiona | Oddzielone przecinkami adresy e-mail, które serwer przepuszcza bez sprawdzania captchy. |
| `CAPTCHA_TRUSTED_USERS_REGEX` | Nieustawiona | Wyrażenie regularne dla takich adresów e-mail; musi pasować do całego adresu. |
| `DEVICE_HISTORY_SECRET` | Nieustawiona | 64 znaki szesnastkowe, np. z `openssl rand -hex 32`. Pozwala przeglądarce, która zalogowała się za pomocą danego adresu e-mail, pomijać captchę dla tego adresu przez 90 dni. Gdy nie jest ustawiona, każde logowanie wymaga captchy. |

* Strony wczytują skrypt reCAPTCHA z `www.recaptcha.net`, który działa również tam, gdzie `www.google.com` jest zablokowane.
* Rejestracja i reset hasła wymagają captchy za każdym razem. Logowanie LDAP również wymaga jej za każdym razem, także przy ustawionym `DEVICE_HISTORY_SECRET`: przesyła ono nazwę użytkownika, a nie adres e-mail.
* Liczba prób logowania jest nadal ograniczona: 20 prób na minutę na adres IP i 10 prób na 2 minuty na adres e-mail.
* Ayakaleaf Pro sprawdza jedynie, czy Google akceptuje odpowiedź. Wyniki i progi reCAPTCHA v3 nie są obsługiwane, a o wyświetleniu zadania decyduje Google.
* Aby wypróbować tę funkcję, zanim otrzymasz klucz, użyj [kluczy testowych](https://developers.google.com/recaptcha/docs/faq) Google: każda weryfikacja kończy się powodzeniem, a widżet wyświetla ostrzeżenie, więc nie używaj ich w środowisku produkcyjnym.


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