PrestaShop: ochrana kontaktního formuláře proti spamu
Spam z kontaktního formuláře zatěžuje obsluhu, znepřehledňuje skutečné dotazy a může poškodit pověst odesílací domény. Bezpečná ochrana ale nemá vzniknout vložením starého kódu do jádra PrestaShopu. Musí odpovídat konkrétní verzi obchodu a po nasazení nesmí blokovat skutečné zákazníky.
Původní verze tohoto článku popisovala rozsáhlý zásah do PrestaShopu 1.6. Taková změna se při aktualizaci snadno přepíše a na současné verze ji nelze bez kontroly přenášet. Následující postup je proto postavený na vrstvách ochrany, které lze samostatně ověřit.
Nejdřív zjistěte, odkud zprávy skutečně přicházejí
- ověřte přesnou verzi PrestaShopu, šablony a kontaktního modulu,
- v hlavičkách zprávy zkontrolujte, zda ji opravdu odeslal kontaktní formulář,
- projděte provozní záznamy a zjistěte, zda se opakuje stejný zdroj, adresa nebo obsah,
- při náhlém výrazném nárůstu prověřte také nechtěné účty, změny souborů a odchozí poštu.
Bez této kontroly můžete řešit jiný problém, než ve skutečnosti máte. Zpráva vydávající se za kontakt z e‑shopu může pocházet z napadeného účtu, newsletteru nebo jiného formuláře.
Ochrana má mít několik nezávislých vrstev
Pro běžné instalace lze použít Antispam pro PrestaShop na zCommerce. Chrání kontaktní formulář, newsletter a podle zvoleného režimu také vybrané části objednávkového procesu. Základem jsou lokální kontroly, které návštěvníka zbytečně nezdržují; externí reCAPTCHA je volitelná, ne povinná.
- Honeypot: skryté pole zachytí jednoduché roboty, aniž by běžný návštěvník něco vyplňoval.
- Časová a obsahová kontrola: odmítne nepřirozeně rychlé odeslání nebo zjevně automatický obsah.
- Omezení opakovaných pokusů: zabrání tomu, aby jeden zdroj během krátké doby odesílal desítky požadavků.
- Volitelná CAPTCHA: může pomoci při silnějším útoku, ale je potřeba řešit přístupnost, soukromí a chování při výpadku služby.
- Průběžné sledování: ukáže, zda ochrana zachycuje roboty a současně propouští legitimní dotazy.
Neinstalujte několik antispamových modulů se stejnou funkcí. Mohou si překážet, zdvojit kontrolu nebo zablokovat odeslání formuláře bez srozumitelné chyby.
Co otestovat po nasazení
- Odešlete běžný dotaz na desktopu i mobilu a ověřte doručení obsluze.
- Vyzkoušejte chybějící povinné pole, opakované odeslání i delší text se skutečným odkazem.
- Zkontrolujte ovládání klávesnicí a srozumitelnost chybové zprávy.
- Pokud používáte externí CAPTCHA, ověřte cookie lištu a chování při odmítnutém souhlasu nebo nedostupné službě.
- Po několika dnech porovnejte počet odmítnutí se skutečnými zprávami a případně pravidla zpřesněte.
Kdy je potřeba individuální zásah
Samostatná úprava dává smysl u nestandardní šablony, vlastního kontaktního modulu, více formulářů nebo při útoku, který běžné kontroly obchází. V takovém případě nejdřív zjistíme, kudy požadavky procházejí, a ochranu doplníme tam, kde nezkomplikuje objednávku.
Pokud potřebujete zkontrolovat konkrétní instalaci, navazuje na článek úprava PrestaShopu na míru nebo průběžná správa PrestaShopu.
Výhoda pro zákazníky Zserveru
Ověření zákazníci hostingu Zserveru mají podle aktuálních podmínek zCommerce slevu na moduly a standardní instalaci podporovaného modulu zdarma. Před objednávkou je přesto vhodné ověřit verzi PrestaShopu a případné úpravy formuláře.
