Preskočiť na obsah

blockHeadless a zoznam blokovaných hodnôt

Okrem povolených domén a Turnstile ponúka Frontmail dva jednoduché filtre, ktoré môžete zapnúť v SDK, v dashboarde alebo na oboch miestach. Nastavenia v dashboarde nájdete na stránke Zabezpečenie (meniť ich môžu vlastník a administrátori).

Odmieta odosielanie z automatizovaných headless prehliadačov (Puppeteer, Playwright, Selenium a podobné), ktoré často používajú spamboty vypĺňajúce formuláre.

init({ publicKey: 'pk_4f2a…', blockHeadless: true });
  • V SDK kontrola prebehne v prehliadači ešte pred odoslaním požiadavky: send() skončí chybou BlockedError s kódom headless_blocked. Žiadna požiadavka, žiadny kredit.
  • V Zabezpečenie → Ochrana pred zneužitím → Blokovať headless prehliadače API navyše odmieta požiadavky s verejným kľúčom, ktorých user agent prezrádza headless alebo automatizovaný prehliadač (HeadlessChrome, Puppeteer, Playwright, Selenium, PhantomJS, jsdom …). Používajte oboje.

Bežných používateľov sa to nedotkne. Vašich vlastných end-to-end testov áno – v testoch odosielajte so súkromným kľúčom alebo voľbu v testovacích prostrediach vypnite.

Zoznam blokovaných hodnôt (block list) odmietne odoslanie, ak príjemca – alebo hodnota zvoleného parametra – zodpovedá niektorej položke. Typické použitie: adresa neodbytného spammera, domény jednorazových e-mailov, konkurent, ktorý scrapuje vaše formuláre.

init({
publicKey: 'pk_4f2a…',
blockList: {
list: ['spam@example.net', 'mailinator.com'],
watchVariable: 'email', // parameter alebo pole formulára, ktoré sa kontroluje
},
});
  • Hodnoty sa porovnávajú bez ohľadu na veľkosť písmen a po orezaní medzier. Položka bez @ (alebo začínajúca @, napr. @mailinator.com) zodpovedá všetkým adresám na danej doméne; ostatné položky musia presne zodpovedať e-mailovej adrese alebo kontrolovanej hodnote.
  • V SDK kontrola prebehne pred odoslaním požiadavky; pri zhode skončí send() chybou BlockedError s kódom recipient_blocked.
  • V Zabezpečenie → Zoznam blokovaných hodnôt zadávajú vlastník a administrátori Blokované hodnoty (jednu na riadok, najviac 1 000) a voliteľne Kontrolovaný parameter (napr. email, fungujú aj cesty s bodkou). API zoznam vynucuje pri každej požiadavke – s verejným aj súkromným kľúčom, vrátane zastaraných klientov alebo skriptov bez SDK – skôr, ako sa spotrebuje kredit. Kontroluje príjemcov po vyrenderovaní šablóny (To/CC/BCC) aj hodnotu kontrolovaného parametra.

Zoznam v SDK je vidieť v zdrojovom kóde stránky; citlivé položky majte len v zozname v dashboarde.

SDK vedia tiež zabrániť tomu, aby jeden prehliadač odosielal príliš často – napríklad keď návštevník dvakrát klikne na tlačidlo odoslania:

init({ publicKey: 'pk_4f2a…', limitRate: { id: 'contact', throttle: 10_000 } });

Druhé odoslanie do 10 sekúnd z tej istej stránky (alebo s rovnakým id) sa odmietne lokálne chybou BlockedError s kódom rate_limited. Ide o pohodlnú poistku, nie o bezpečnostné opatrenie – limity na strane servera nájdete v časti Rate limity.

Zabezpečenie → Ochrana pred zneužitím → Prísne parametre odmietne požiadavky s parametrami, ktoré schéma šablóny nepozná (pozrite Parametre). Boty, ktoré vyplnia každé pole formulára vrátane vymyslených, sa zastavia skôr, ako spotrebujú kredit.