blockHeadless a block list
Kromě povolených domén a Turnstile nabízí Frontmail dva jednoduché filtry, které můžete zapnout v SDK, v dashboardu, nebo na obou místech. Nastavení v dashboardu najdete na stránce Zabezpečení (měnit je můžou vlastník a admini).
blockHeadless
Sekce “blockHeadless”Odmítá odesílání z automatizovaných headless prohlížečů (Puppeteer, Playwright, Selenium a podobné), které často používají spamboti plnící formuláře.
init({ publicKey: 'pk_4f2a…', blockHeadless: true });- V SDK kontrola proběhne v prohlížeči ještě před odesláním požadavku:
send()skončí chybouBlockedErrors kódemheadless_blocked. Žádný požadavek, žádný kredit. - V Zabezpečení → Ochrana proti zneužití → Blokovat headless prohlížeče API navíc odmítá požadavky s public key, jejichž user agent prozrazuje headless nebo automatizovaný prohlížeč (HeadlessChrome, Puppeteer, Playwright, Selenium, PhantomJS, jsdom …). Používejte obojí.
Běžných uživatelů se to nedotkne. Vašich vlastních end-to-end testů ano – v testech odesílejte s private key, nebo volbu v testovacích prostředích vypněte.
Block list
Sekce “Block list”Block list odmítne odeslání, pokud příjemce – nebo hodnota zvoleného parametru – odpovídá některé položce. Typické použití: adresa neodbytného spammera, domény jednorázových e-mailů, konkurent, který scrapuje vaše formuláře.
init({ publicKey: 'pk_4f2a…', blockList: { list: ['spam@example.net', 'mailinator.com'], watchVariable: 'email', // parametr nebo pole formuláře, které se kontroluje },});- Hodnoty se porovnávají bez ohledu na velikost písmen a po oříznutí mezer. Položka bez
@(nebo začínající@, např.@mailinator.com) odpovídá všem adresám na dané doméně; ostatní položky musí přesně odpovídat e-mailové adrese nebo kontrolované hodnotě. - V SDK kontrola proběhne před odesláním požadavku; při shodě skončí
send()chybouBlockedErrors kódemrecipient_blocked. - V Zabezpečení → Seznam blokovaných hodnot zadávají vlastník a admini Blokované hodnoty
(jednu na řádek, nejvýš 1 000) a volitelně Kontrolovaný parametr (např.
email, fungují i cesty s tečkou). API seznam vynucuje u každého požadavku – s public i private key, včetně zastaralých klientů nebo skriptů bez SDK – dřív, než se spotřebuje kredit. Kontroluje příjemce po vyrenderování šablony (To/CC/BCC) i hodnotu kontrolovaného parametru.
Seznam v SDK je vidět ve zdrojovém kódu stránky; citlivé položky mějte jen v seznamu v dashboardu.
limitRate (omezení v prohlížeči)
Sekce “limitRate (omezení v prohlížeči)”SDK umí také zabránit tomu, aby jeden prohlížeč odesílal příliš často – například když návštěvník dvakrát klikne na tlačítko odeslání:
init({ publicKey: 'pk_4f2a…', limitRate: { id: 'contact', throttle: 10_000 } });Druhé odeslání do 10 sekund ze stejné stránky (nebo se stejným id) se odmítne lokálně chybou
BlockedError s kódem rate_limited. Jde o pohodlnou pojistku, ne o bezpečnostní opatření –
limity na straně serveru najdete v části Rate limity.
Striktní parametry
Sekce “Striktní parametry”Zabezpečení → Ochrana proti zneužití → Striktní parametry odmítne požadavky s parametry, které schéma šablony nezná (viz Parametry). Boti, kteří vyplní každé pole formuláře včetně vymyšlených, se zastaví dřív, než spotřebují kredit.