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

> Come proteggere accesso, registrazione e reimpostazione della password con Google reCAPTCHA?

> [!NOTE]
>
> Questa funzionalità è sviluppata da [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro) ed è disponibile a partire dalla v6.4.0.

L'accesso con email e password, l'accesso LDAP, la registrazione e la reimpostazione della password possono richiedere un Google reCAPTCHA v2 (invisibile). È disattivato per impostazione predefinita. La maggior parte degli utenti non vede nulla: la verifica viene eseguita quando premono il pulsante e Google mostra una sfida con immagini solo quando ritiene sospetta la richiesta. Gli accessi SAML e OIDC e gli account creati da un amministratore non sono interessati.

1. Nella [console di amministrazione di reCAPTCHA](https://www.google.com/recaptcha/admin), crea una chiave di tipo **reCAPTCHA v2**, **Invisible reCAPTCHA badge**, e aggiungi il dominio della tua istanza. Un dominio copre anche i suoi sottodomini, ad es. `example.com` copre `latex.example.com`.
2. Imposta le due chiavi in `config/variables.env` ed esegui `bin/up`:

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

| Variabile | Predefinito | Scopo |
| - | - | - |
| `RECAPTCHA_SITE_KEY` | Non impostata | Attiva il captcha per l'accesso, l'accesso LDAP, la registrazione e la reimpostazione della password. |
| `RECAPTCHA_SECRET_KEY` | Non impostata | Chiave segreta della stessa chiave reCAPTCHA, usata dal server per verificare le risposte. |
| `RECAPTCHA_ENDPOINT` | `https://www.google.com/recaptcha/api/siteverify` | Dove il server verifica le risposte. Dove `www.google.com` non è raggiungibile, usa `https://www.recaptcha.net/recaptcha/api/siteverify`. |
| `CAPTCHA_TRUSTED_USERS` | Non impostata | Email separate da virgole che il server lascia passare senza verificare il captcha. |
| `CAPTCHA_TRUSTED_USERS_REGEX` | Non impostata | Un'espressione regolare per tali email; deve corrispondere all'intera email. |
| `DEVICE_HISTORY_SECRET` | Non impostata | 64 caratteri esadecimali, ad es. generati con `openssl rand -hex 32`. Consente a un browser che ha effettuato l'accesso con un'email di saltare il captcha per quell'email per 90 giorni. Se non è impostata, ogni accesso richiede il captcha. |

* Le pagine caricano lo script reCAPTCHA da `www.recaptcha.net`, che funziona anche dove `www.google.com` è bloccato.
* La registrazione e la reimpostazione della password lo richiedono ogni volta. Anche l'accesso LDAP lo richiede ogni volta, pure con `DEVICE_HISTORY_SECRET`: invia un nome utente, non un'email.
* Gli accessi restano inoltre soggetti a limiti di frequenza: 20 tentativi al minuto per indirizzo IP e 10 tentativi ogni 2 minuti per email.
* Ayakaleaf Pro verifica solo se Google accetta la risposta. I punteggi e le soglie di reCAPTCHA v3 non sono supportati, ed è Google a decidere quando mostrare una sfida.
* Per provarlo prima di avere una chiave, usa le [chiavi di test](https://developers.google.com/recaptcha/docs/faq) di Google: ogni verifica viene superata e il widget mostra un avviso, quindi non usarle in produzione.


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