Salta ai contenuti

4. Consenti il tuo sito

Il tuo modulo conterrà la tua chiave pubblica. Va bene così – è fatta per essere pubblica – ma chiunque può copiarla dal sorgente della pagina. Due cose fanno sì che funzioni solo per il tuo modulo: l’elenco dei siti consentiti e il CAPTCHA sul modello.

  1. Apri Sicurezza. La scheda Siti consentiti elenca i domini che possono inviare con la tua chiave pubblica.

  2. Scrivi il tuo dominio in Aggiungi dominio e clicca su Aggiungi. Formati accettati:

    Voce Consente
    example.com esattamente example.com
    *.example.com qualsiasi sottodominio, ad es. www.example.com o shop.example.com – ma non example.com stesso
    localhost:3000 un host e una porta specifici
    localhost localhost su qualsiasi porta – comodo per lo sviluppo in locale

    La maggior parte dei siti è raggiungibile sia con sia senza www, quindi aggiungi example.com e *.example.com (oppure www.example.com).

  3. Clicca su Salva in cima alla pagina.

La pagina Sicurezza con la chiave pubblica, le chiavi private, Siti consentiti con tre domini, Protezione dagli abusi e le opzioni per l’esaurimento dei crediti

Frontmail confronta l’header Origin di ogni richiesta dal browser con questo elenco:

  • Nessun dominio – la scheda avvisa Nessun dominio impostato: qualsiasi sito può usare la tua chiave pubblica. L’invio funziona da qualsiasi posto: comodo per una prima prova, ma permette ad altri di consumare i tuoi crediti. Non andare in produzione così.
  • Un dominio che non è nell’elenco – la richiesta viene rifiutata con origin_not_allowed e non viene inviato nulla. Se vedi questo errore, controlla l’host esatto nella barra degli indirizzi (con o senza www, numero di porta).

I siti consentiti fermano gli altri siti web, ma non un bot che invia direttamente all’API. Un CAPTCHA Cloudflare Turnstile sì – di solito come controllo invisibile, senza rompicapi. Le richieste senza un token valido falliscono con captcha_required prima di costarti un credito.

Per i siti web, Turnstile usa il tuo widget Cloudflare gratuito (il piano gratuito di Cloudflare consente solo 10 hostname per widget, quindi Frontmail non può condividere una sola chiave tra i siti di tutti). Ci vogliono circa due minuti:

  1. Accedi alla dashboard di Cloudflare (basta un account gratuito), apri Turnstile e clicca su Add widget.

  2. Dai un nome al widget, aggiungi gli hostname del tuo sito – ad es. example.com e www.example.com – lascia Widget mode su Managed e clicca su Create.

  3. Copia la Site Key e la Secret Key.

  4. Torna in Frontmail e, nella pagina Sicurezza, incolla entrambe le chiavi nella scheda Protezione dai bot (Turnstile) e clicca su Salva chiavi. Frontmail verifica la chiave segreta con Cloudflare, la salva cifrata e non la mostra mai più.

  5. Clicca su Attiva il CAPTCHA per tutti i modelli. Il modello del modulo di questo tutorial ora ha Richiedi CAPTCHA (Turnstile) attivo (nel modello Impostazioni → Protezione); il modello della risposta automatica viene saltato perché lo invia Frontmail, non il tuo modulo.

Tieni a portata di mano la chiave del sito – la inserirai nel modulo nel prossimo passaggio. I componenti per i framework (FrontmailForm per React, Vue e Svelte) mostrano il widget al posto tuo. Da ora in poi ogni nuovo modello ha il CAPTCHA attivo per impostazione predefinita.

La scheda Protezione dagli abusi offre Blocca i browser headless e Parametri rigorosi, e più in basso puoi impostare un Rate limit per IP e una Lista dei bloccati. Le impostazioni predefinite vanno bene per questo tutorial – leggi Protezione dai bot e Impostazioni di sicurezza quando vorrai stringere le maglie.

Altro: Domini consentiti.