Jak se bránit ručnímu spamování formulářů v Drupalu

Proti spamovacím robotům existuje v Drupalu hned několik možností ochrany. Jenže co když u vašeho webu sedí záškodník, který tam ručně láduje jednu nadávku a nenávistný vzkaz za druhým? I na to existuje poměrně jednoduché řešení.

Na většině webů postavených na Drupalu se snažím používat modul Antibot. Funguje na bázi JavaScriptové kontroly a na rozdíl od klasické captcha neruší cacheování stránky, na které se nachází.

Odfiltruje drtivou většinu robotů a zároveň nevytváří cookies. To je nesporná výhoda proti populární ochraně reCaptcha od Google. Správně byste ji neměli aktivovat, dokud uživatel nedá souhlas s cookies. Jenže odeslání formulářů chcete obvykle povolit všem.

Ale zatímco Antibot funguje spolehlivě na roboty, nezmůže nic proti tomu, že si váš web jednoho dne načte nasupený konkurent a začne přes kontaktní formulář ládovat jeden nenávistný vzkaz za druhým. Nedávno se to stalo jednomu klientovi, a protože to bylo dost nepříjemné, bylo potřeba vymyslet řešení.

Zabanování IP adresy jako rychlá pomoc. A neúčinná

Jako první mě napadlo zablokovat IP adresu útočníka. V uložených výsledcích ve Webformu je použitá IP krásně vidět, takže stačilo aktivovat modul Ban. Tím se vám v Drupalu zpřístupní administrační část Nastavení > Uživatelé > Blokace IP adres.

Stačí nahodit IP adresu, z níž chcete přístup k webu zablokovat, a je hotovo. Tedy tak jsem si to původně myslel. Náš otrava ale brzy objevil kouzlo veřejných VPN, takže jeho blokování začalo postupně připomínat hru kdo s koho.

Ochrana před zahlcením formulářů

Drupal má v sobě zabudovanou ochranu flood protection, která se projeví například pokaždé, pokud během chvilky zkusíte několikrát zadat špatné přihlašovací údaje. Zablokuje přístup z vaší IP adresy a nepomůže vám, ani když následně zadáte své jméno a heslo správně. Musíte pak počkat na zpřístupnění.

V případě formulářů z modulu Webform, ale i kterýchkoli dalších v Drupalu, je možné využít podobnou ochranu pomocí modulu Protect Form Flood Control.

Protect Form Flood Control
Protect Form Flood Control

Zmíněné nastavení se mi osvědčilo. Záškodník, nebo spíše prudič, to po chvíli vzdal, protože změna IP adresy je z mého pohledu podobný opruz, jako zaklikávat čtverečky se semafory na Google reCaptcha. Takto jsme se obešli bez ní i bez cookies třetích stran.

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Nové diskuze
Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru