Captcha w PrestaShop: jak zatrzymać boty i spam w formularzach

Captcha w PrestaShop to dziś podstawowa ochrona sklepu przed botami, które wysyłają spam z formularza kontaktowego, zakładają fałszywe konta, zgadują hasła klientów i zapisują obce adresy do newslettera. PrestaShop nie ma własnej captchy, więc każdy formularz sklepu jest otwarty dla automatów. Najwygodniejszym rozwiązaniem jest Google reCAPTCHA v3: działa niewidocznie, ocenia każdą wizytę w tle i nie każe klientom przepisywać literek ani klikać obrazków. Poniżej wyjaśniamy, co boty robią w sklepie, jakie są rodzaje captchy i jak krok po kroku dodać reCAPTCHA do PrestaShop.

Dlaczego boty atakują sklepy internetowe?

Według raportu Imperva Bad Bot Report 2025 ruch automatyczny stanowi już 51% całego ruchu w internecie, a złośliwe boty — około 37%. To pierwszy raz od dziesięciu lat, gdy automaty przegoniły ludzi, a autorzy raportu wiążą ten wzrost z narzędziami AI, które pozwalają pisać boty szybciej i lepiej je ukrywać.

Bot nie musi znać Twojego sklepu. Skanery chodzą po całym internecie, rozpoznają PrestaShop po typowych adresach (/logowanie, /kontakt, index.php?controller=authentication) i po kodzie strony, a potem wysyłają formularze automatycznie, setki razy dziennie. Mały sklep z kilkoma zamówieniami w tygodniu dostaje ten sam spam co duży — bo dla bota każdy formularz bez zabezpieczenia jest tak samo łatwym celem.

Co boty robią w formularzach PrestaShop?

Każdy publiczny formularz sklepu przyciąga inny rodzaj nadużyć. OWASP, organizacja zajmująca się bezpieczeństwem aplikacji webowych, opisuje je w katalogu zagrożeń automatycznych — tabela pokazuje te, które spotykamy w sklepach PrestaShop najczęściej.

FormularzCo robi botSkutek dla sklepu
Kontaktwysyła reklamy, linki do stron z oszustwami i phishingzapchana skrzynka i Obsługa klienta, ryzyko kliknięcia w fałszywy link
Rejestracjazakłada fałszywe konta z linkami w polach imienia i nazwiskaśmieci w bazie klientów, e-maile powitalne wysyłane na obce adresy
Logowaniesprawdza pary e-mail i hasło wykradzione z innych serwisów (credential stuffing)przejęte konta klientów, ich adresy i historia zamówień
Reset hasławysyła setki próśb o link do zmiany hasłafala maili do klientów, gorsza reputacja domeny sklepu
Newsletterzapisuje cudze adresy, czasem tysiące w ciągu godzinyfałszywa lista subskrybentów, skargi na spam, maile w folderze spamu

Najbardziej podstępne są skutki dla poczty. Każda fałszywa rejestracja, reset hasła i zapis do newslettera to e-mail wysłany z Twojej domeny na adres, którego nikt nie podał świadomie. Gdy odbiorcy oznaczają takie wiadomości jako spam, Gmail czy Outlook zaczynają kierować do spamu także potwierdzenia zamówień i faktury.

Jak sprawdzić, czy boty już są w Twoim sklepie?

  • Klienci → Klienci — posortuj po dacie rejestracji. Konta z linkami lub dziwnymi znakami w imieniu, zakładane seriami o tej samej godzinie, to boty.
  • Klienci → Obsługa klienta — wiadomości z formularza kontaktowego w obcych językach, z linkami albo bez związku z ofertą.
  • Zaawansowane → Adres e-mail — jeśli zapisujesz logi poczty, zobaczysz w nich nagłe serie e-maili powitalnych i resetów hasła.
  • Lista subskrybentów newslettera — w konfiguracji modułu Subskrypcja newslettera; setki nowych adresów jednego dnia to niemal na pewno nie klienci.

Rodzaje captchy: od literek do niewidocznej oceny

CAPTCHA to test, który ma odróżnić człowieka od programu. Przez lata zmieniał się z prostych zagadek w analizę zachowania, bo boty — także dzięki AI — nauczyły się rozwiązywać to, co miało być dla nich trudne.

RodzajCo widzi klientWady
Zniekształcony tekst lub działanie matematycznepole do przepisania znakówmęczy klientów, programy do rozpoznawania tekstu radzą sobie z nim coraz lepiej
Pole-pułapka (honeypot)niczatrzymuje tylko najprostsze boty, które wypełniają każde pole
reCAPTCHA v2 „Nie jestem robotem”pole wyboru, czasem zadanie z obrazkamidodatkowy krok, zadania z obrazkami irytują, szczególnie na telefonie
reCAPTCHA v3nic — najwyżej małą plakietkę w roguwynik trzeba umieć ocenić po stronie sklepu, dane wizyty trafiają do Google

W sklepie każdy dodatkowy krok w rejestracji czy logowaniu kosztuje — część klientów rezygnuje, gdy widzi zadanie z obrazkami. Dlatego captcha w sklepie powinna być przede wszystkim niewidoczna dla ludzi.

Dlaczego Google reCAPTCHA v3?

reCAPTCHA to najpopularniejsza usługa captcha w internecie, a wersja 3 jest naszym zdaniem najlepszym wyborem dla sklepu PrestaShop. Oto dlaczego:

  • Brak zagadek. reCAPTCHA v3 nie przerywa zakupów. Skrypt obserwuje w tle, jak odwiedzający korzysta ze strony, a przy wysłaniu formularza Google zwraca wynik od 0.0 (prawie na pewno bot) do 1.0 (prawie na pewno człowiek).
  • Skala danych Google. Ocena opiera się na sygnałach z ogromnej liczby stron chroniących się reCAPTCHA — bot, który atakuje tysiące sklepów, zostawia ślady, których pojedynczy sklep sam by nie zauważył.
  • Decyzja należy do sklepu. Sklep sam ustala próg wyniku. Google zaleca na początek 0.5, a każdy formularz dostaje własną nazwę akcji, więc token z newslettera nie zadziała w logowaniu.
  • Jednorazowe tokeny. Token wygasa po dwóch minutach i można go sprawdzić tylko raz — bot nie użyje jednego dobrego tokenu tysiąc razy.
  • Darmowy plan. Plan Essentials jest bezpłatny do 10 000 ocen miesięcznie. Ocena liczy się przy sprawdzeniu formularza, a nie przy każdym wyświetleniu strony, więc większości sklepów ten limit wystarcza z zapasem.

Są też inne usługi, np. Cloudflare Turnstile czy hCaptcha, i warto o nich wiedzieć. reCAPTCHA v3 wygrywa jednak połączeniem niewidocznej oceny, elastycznego progu i największej skali danych. Trzeba tylko pamiętać, że skrypt Google przesyła dane o wizycie do Google — opisz to w polityce prywatności sklepu.

Wskazówka: nie ustawiaj od razu wysokiego progu. Najpierw przez kilka dni sprawdzaj formularze bez blokowania i zobacz, jakie wyniki dostają prawdziwi klienci, a dopiero potem włącz blokowanie z progiem 0.5.

reCAPTCHA w PrestaShop krok po kroku

Samo wklejenie skryptu Google do szablonu nie wystarczy: token trzeba wygenerować przy każdym wysłaniu formularza, a potem sprawdzić na serwerze, zanim PrestaShop zapisze wiadomość, utworzy konto czy wyśle e-mail. Zrobi to za Ciebie moduł Niewidoczna reCAPTCHA v3, który działa w PrestaShop 1.7.8, 8 i 9 oraz w multistore. Ustawienie zajmuje kilka minut.

Krok 1. Utwórz klucze w Google

Zaloguj się do konsoli administracyjnej reCAPTCHA kontem Google, wybierz klucz oparty na wyniku (v3) i dodaj domeny sklepu — np. twojsklep.pl; subdomeny takie jak www są objęte automatycznie. Po zapisaniu Google pokaże dwa klucze: klucz witryny i klucz tajny.

Krok 2. Zainstaluj moduł i wklej klucze

Wgraj plik ZIP w Moduły → Menedżer modułów → Załaduj moduł i kliknij Konfiguruj. W sekcji Klucze Google reCAPTCHA wklej oba klucze i zapisz. Moduł od razu sprawdza je w Google i mówi, czy klucz pasuje do domeny sklepu — literówka albo klucz v2 zamiast v3 wyjdą przy zapisie, a nie dopiero wtedy, gdy klienci nie będą mogli się zalogować.

Krok 3. Wybierz chronione formularze

W sekcji Chronione formularze każdy formularz ma osobny przełącznik: formularz kontaktowy, logowanie, rejestracja, reset hasła i newsletter. Logowanie i rejestracja są chronione także w trakcie składania zamówienia, razem z formularzem gościa. Gdy formularz zostanie zatrzymany, klient nie traci tego, co wpisał w formularzu kontaktowym i rejestracji.

Krok 4. Włącz tryb testowy i dobierz próg

Włącz Tryb testowy na kilka dni. Moduł sprawdza wtedy każdy formularz, ale żadnego nie blokuje, a te, które zostałyby zatrzymane, zapisuje z wynikiem w Zaawansowane → Logi. Na tej podstawie ustaw Próg wyniku (od 0.1 do 0.9, zalecane 0.5) i wyłącz tryb testowy. W polu Gdy Google nie odpowiada zostaw „Przepuść formularz” — jeśli Google nie odpowie w ciągu 3 sekund, klient wyśle formularz, a problem trafi do logów.

Krok 5. Plakietka i polityka prywatności

Google wymaga, żeby odwiedzający wiedzieli o reCAPTCHA. Możesz zostawić małą plakietkę w rogu strony albo ją ukryć — wtedy moduł pokazuje pod chronionymi formularzami wymaganą przez Google informację z linkami do polityki prywatności i warunków Google. Skrypt Google wczytuje się dopiero, gdy ktoś zaczyna wypełniać chroniony formularz, więc nie spowalnia pozostałych stron. Dopisz też reCAPTCHA do polityki prywatności — przykład znajdziesz w naszej polityce prywatności. To ogólna informacja, a nie porada prawna.

Captcha to nie wszystko

reCAPTCHA chroni formularze, ale nie zatrzyma skanerów, które szukają w sklepie znanych podatności modułów, ani ataków na panel administracyjny czy serwer. Te zagrożenia wymagają aktualnego oprogramowania i zabezpieczeń na poziomie serwera:

Źródła

Najczęściej zadawane pytania

Czy reCAPTCHA v3 utrudni klientom zakupy?

Nie. Wersja 3 nie pokazuje żadnych zagadek ani pól wyboru — ocena odbywa się w tle przy wysłaniu formularza. Klient z niskim wynikiem zobaczy komunikat i może spróbować ponownie, a dzięki trybowi testowemu możesz sprawdzić wyniki prawdziwych klientów, zanim cokolwiek zablokujesz.

Czy Google reCAPTCHA jest darmowa?

Plan Essentials jest bezpłatny do 10 000 ocen miesięcznie. Moduł prosi Google o ocenę tylko przy wysłaniu chronionego formularza, więc liczba ocen to liczba wysłanych formularzy, a nie odsłon. Po przekroczeniu limitu Google do końca miesiąca nie zwraca ocen, więc przy dużym ruchu zaglądaj do licznika w konsoli Google.

Co się dzieje, gdy Google nie odpowiada?

Moduł czeka na odpowiedź do 3 sekund. Domyślnie przepuszcza wtedy formularz i zapisuje problem w logach PrestaShop, żeby awaria po stronie Google nie zablokowała klientów. Jeśli wolisz bezpieczeństwo od wygody, ustaw blokowanie formularza.

Czy reCAPTCHA wymaga zgody na cookies?

reCAPTCHA przesyła do Google dane o wizycie i zapisuje plik cookie _GRECAPTCHA, więc trzeba to opisać w polityce prywatności. Czy potrzebna jest osobna zgoda, zależy od interpretacji przepisów w Twoim kraju — wiele sklepów traktuje ją jako zabezpieczenie niezbędne do działania formularzy. To nie jest porada prawna; w razie wątpliwości zapytaj prawnika.

Czy moduł działa w PrestaShop 1.7, 8 i 9?

Tak. Niewidoczna reCAPTCHA v3 działa w PrestaShop od 1.7.8 do 9.x, z natywnym formularzem kontaktowym i modułem newslettera, a w multistore każdy sklep ma własne klucze i ustawienia. Nie zmienia plików PrestaShop i nie używa override'ów.

Masz dość spamu w sklepie? Zobacz moduł Niewidoczna reCAPTCHA v3 albo napisz do nas, jeśli masz pytanie o swój sklep.

Produkty z tego wpisu

Wróć do: Blog

Ładowanie...
Powrót do góry