Spam z kontaktního formuláře: jak ho zastavit
Spam z kontaktního formuláře posílají hlavně roboti, kteří plošně vyplňují všechny formuláře, na které narazí. Zastavíte ho vrstvením několika jednoduchých kontrol na serveru – skryté pole, čas vyplnění, limit odeslání a filtr obsahu. CAPTCHA je až poslední vrstva, protože zdržuje i skutečné zákazníky.
Aktualizováno
Odkud spam pochází
Než začnete něco nastavovat, podívejte se, jaký spam chodí. Podle toho poznáte, které opatření zabere.
- Automatičtí roboti. Zprávy přicházejí v noci, ve vlnách, často v cizím jazyce a plné odkazů. Pole bývají vyplněná nesmysly nebo stejným textem. Tohle je naprostá většina.
- Ručně psané nabídky. „Viděli jsme váš web, umíme vás dostat na první místo v Googlu.“ Píšou je lidé, takže technické triky na ně nefungují.
- Zneužití formuláře. Útočník formulář neposílá kvůli vám, ale kvůli potvrzovacímu e-mailu, který web odešle na zadanou adresu. Do pole e-mail dá adresu oběti a do zprávy reklamu nebo podvodný odkaz.
Poslední případ je nejhorší, protože poškozuje pověst vaší domény a vaše běžné e-maily pak častěji padají do spamu. Proč na reputaci domény záleží, vysvětluje heslo SPF, DKIM a DMARC.
Opatření, která zákazník nevidí
Důležité je, aby všechny kontroly běžely na serveru. Robot často vynechá prohlížeč a data pošle rovnou na adresu, kam formulář míří – kontrola jen v JavaScriptu na stránce ho tedy nezastaví.
| Opatření | Jak funguje | Na co si dát pozor |
|---|---|---|
| Skryté pole (honeypot) | Pole skryté před lidmi. Roboti vyplňují všechno, takže obsah v něm prozradí stroj. | Pole skrýt i pro čtečky obrazovky a vypnout mu automatické doplňování prohlížeče. |
| Kontrola času | Formulář odeslaný pár vteřin po načtení stránky nevyplnil člověk. | Hranici nastavit nízko – kdo má údaje uložené v prohlížeči, vyplní je rychle. |
| Limit odeslání | Z jedné adresy jen několik odeslání za určitou dobu. | Firma za jednou sdílenou IP adresou může poslat víc zpráv oprávněně. |
| Filtr obsahu | Body za odkazy, cizí písmo, typické fráze a nesmyslné hodnoty v polích. | Žádné jedno pravidlo nesmí zprávu odmítnout samo, rozhoduje součet. |
| Kontrola polí | E-mail musí vypadat jako e-mail, telefon jako telefon, délka zprávy rozumná. | Nepřehánět – i zahraniční číslo nebo krátká zpráva může být poptávka. |
Samotné skryté pole s kontrolou času zachytí většinu jednoduchých robotů. Filtr obsahu přidejte, až když přesto něco proklouzne. Zbytek formuláře – pole, popisky a chybové hlášky – rozebírá návod kontaktní formulář.
Kdy sáhnout po CAPTCHA
Když neviditelná opatření nestačí – typicky u formulářů, na které se zaměří cílenější roboti –, přichází na řadu CAPTCHA. Volte variantu, která člověka obtěžuje co nejméně:
- služby, které návštěvníka vyhodnotí na pozadí a úlohu ukážou jen podezřelým,
- ověření až při odeslání formuláře, ne už při načtení stránky,
- vždy s alternativou pro lidi, kteří obrázkové úlohy nezvládnou.
Obrázková hádanka se semafory nebo přepisování zkroucených písmen je nepříjemná na mobilu a pro lidi se zrakovým postižením často neprůchodná – víc v hesle přístupnost webu. Myslete také na to, že služby třetích stran mohou zpracovávat údaje o návštěvníkovi; jak to zohlednit v informacích o zpracování, ověřte podle podmínek konkrétní služby.
Co nepomáhá nebo škodí
- Kontrolní otázka typu „kolik je 3 + 4“. Moderní robot ji vyřeší, člověka zdrží.
- Dlouhý seznam zakázaných slov. Dřív nebo později zablokuje skutečnou poptávku, ve které se slovo objeví v nevinném smyslu.
- Plošné blokování zemí. Zablokuje i zákazníky na dovolené nebo za firemní sítí v zahraničí.
- Mazání bez stopy. Když filtr zprávu zahodí a nikde ji neuloží, nikdy se nedozvíte, že omylem odmítl zákazníka.
- Kopie zprávy odesílateli. Potvrzení ano, ale bez textu, který odesílatel napsal – jinak z formuláře děláte rozesílačku spamu.
Jak poznat, že ochrana funguje
Zachycené zprávy neničte, ale ukládejte stranou s důvodem, proč je filtr odmítl. Jednou týdně je projeďte očima. Když mezi nimi najdete skutečnou poptávku, pravidla jsou příliš přísná. Ve chvíli, kdy je několik týdnů po sobě karanténa plná jen spamu a do schránky nic nepronikne, můžete kontroly přestat řešit. Pravidelně také odešlete zkušební poptávku z mobilu – filtr nesmí zastavit ani vás.
Pokud odeslání formuláře měříte v analytice, počítejte s tím, že spam od robotů se tam obvykle neobjeví. Rozdíl mezi analytikou a schránkou pak nemusí být chyba měření – vysvětlení najdete v návodu konverze v GA4.
Ochrana formuláře u nás
Formulář je v ceně každého webu, který stavíme, od Vizitkového webu za 15 000 Kč. Na tomto webu kombinujeme několik neviditelných signálů do jednoho skóre, bez obrázkových hádanek. Pokud potřebujete víc než jednoduchý kontakt – poptávku, která se rovnou zapíše do evidence –, podívejte se na poptávkový formulář. Jestli převezmeme starší web a jeho formulář, rozhodneme po prohlédnutí; podrobnosti v článku převzetí webu od webaře.
Časté otázky
Proč spam chodí, i když je web malý a nikdo ho nezná?
Roboti nehledají zajímavé weby, ale jakýkoli formulář. Procházejí internet plošně a zkoušejí odeslat cokoli, co najdou. Velikost ani návštěvnost webu nehraje roli.
Pomůže, když formulář přesunu na jinou adresu?
Krátce možná, dlouhodobě ne. Robot si formulář najde znovu při dalším procházení webu. Změna adresy navíc rozbije odkazy, které na formulář vedou odjinud.
Mám místo formuláře uvést jen e-mail?
Spam tím nezmizí, jen se přesune do schránky. Adresy zveřejněné na webu roboti sbírají také a spamový filtr pošty pak nerozlišuje tak jemně jako filtr přímo ve formuláři. Formulář s rozumnou ochranou bývá lepší volba.
Spammeři mi přes formulář posílají odkazy na podvodné stránky. Je to nebezpečné?
Pro vás hlavně tehdy, když na odkazy klikáte. Nebezpečnější je formulář, který automaticky posílá kopii zprávy na zadaný e-mail – pak ho lze zneužít k rozesílání spamu cizím lidem z vaší domény. Takové potvrzení by nemělo obsahovat text, který napsal odesílatel.
Kolik u vás stojí ochrana formuláře?
U nového webu ochranu formuláře řešíme rovnou při stavbě a je v ceně, kterou dostanete předem. U cizího webu nejdřív posoudíme, jak je formulář postavený, a úpravu naceníme předem. Hodinová sazba je 1 000 Kč.