Przejdź do głównej zawartości

4. Dopuść swoją stronę

Twój formularz będzie zawierał klucz publiczny. To w porządku – ma być publiczny – ale każdy może go skopiować ze źródła strony. Dwie rzeczy sprawiają, że zadziała tylko dla twojego formularza: lista dozwolonych domen i CAPTCHA w szablonie.

  1. Otwórz Bezpieczeństwo. Karta Dozwolone domeny zawiera domeny, z których można wysyłać z twoim kluczem publicznym.

  2. Wpisz domenę w pole Dodaj domenę i kliknij Dodaj. Akceptowane formaty:

    Wpis Pozwala na
    example.com dokładnie example.com
    *.example.com dowolną subdomenę, np. www.example.com albo shop.example.com – ale nie samo example.com
    localhost:3000 konkretny host i port
    localhost localhost na dowolnym porcie – przydatne przy lokalnym developmencie

    Większość stron działa z www i bez, więc dodaj example.com oraz *.example.com (albo www.example.com).

  3. Kliknij Zapisz u góry strony.

Strona Bezpieczeństwo z kluczem publicznym, kluczami prywatnymi, Dozwolonymi domenami z trzema domenami, Ochroną przed nadużyciami i opcjami na wypadek braku kredytów

Frontmail porównuje nagłówek Origin każdego żądania z przeglądarki z tą listą:

  • Brak jakichkolwiek domen – karta ostrzega Nie ustawiono domen – każda strona może używać twojego klucza publicznego. Wysyłka działa z dowolnego miejsca, co jest wygodne na pierwszą próbę, ale pozwala innym zużywać twoje kredyty. Nie uruchamiaj tak strony na produkcji.
  • Domena spoza listy – żądanie zostaje odrzucone z błędem origin_not_allowed i nic nie jest wysyłane. Jeśli widzisz ten błąd, sprawdź dokładny host w pasku adresu (z www czy bez, numer portu).

Dozwolone domeny zatrzymują inne strony, ale nie bota, który wysyła żądania prosto do API. Robi to CAPTCHA Cloudflare Turnstile – zwykle jako niewidoczne sprawdzenie, bez łamigłówek. Żądania bez ważnego tokenu kończą się błędem captcha_required, zanim zużyją kredyt.

Na stronach internetowych Turnstile działa na twoim własnym bezpłatnym widżecie Cloudflare (darmowy plan Cloudflare pozwala na tylko 10 hostów na widżet, więc Frontmail nie może używać jednego klucza dla stron wszystkich klientów). Zajmuje to około dwóch minut:

  1. Zaloguj się do panelu Cloudflare (wystarczy darmowe konto), otwórz Turnstile i kliknij Add widget.

  2. Nazwij widżet, dodaj hosty swojej strony – np. example.com i www.example.com – zostaw Widget mode na Managed i kliknij Create.

  3. Skopiuj Site Key i Secret Key.

  4. Wróć do Frontmaila i na stronie Bezpieczeństwo wklej oba klucze do karty Ochrona przed botami (Turnstile), a potem kliknij Zapisz klucze. Frontmail sprawdza klucz tajny w Cloudflare, zapisuje go zaszyfrowany i już nigdy go nie pokazuje.

  5. Kliknij Włącz CAPTCHA we wszystkich szablonach. Szablon kontaktowy z tego samouczka ma teraz włączone Wymagaj CAPTCHA (Turnstile) (Ustawienia szablonu → Ochrona); szablon automatycznej odpowiedzi jest pomijany, bo wysyła go Frontmail, a nie twój formularz.

Miej klucz witryny (site key) pod ręką – w następnym kroku wstawisz go do formularza. Komponenty dla frameworków (FrontmailForm dla Reacta, Vue i Svelte) renderują widżet za ciebie. Od teraz każdy nowy szablon ma CAPTCHA domyślnie włączoną.

Karta Ochrona przed nadużyciami oferuje Blokuj przeglądarki headless i Ścisłe parametry, a niżej ustawisz Limit żądań na IP i Listę blokad. Domyślne wartości wystarczą na potrzeby tego samouczka – gdy zechcesz coś zaostrzyć, zajrzyj do Ochrona przed botami i Ustawienia bezpieczeństwa.

Więcej: Dozwolone domeny.