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.
| Formularz | Co robi bot | Skutek dla sklepu |
|---|---|---|
| Kontakt | wysyła reklamy, linki do stron z oszustwami i phishing | zapchana skrzynka i Obsługa klienta, ryzyko kliknięcia w fałszywy link |
| Rejestracja | zakłada fałszywe konta z linkami w polach imienia i nazwiska | śmieci w bazie klientów, e-maile powitalne wysyłane na obce adresy |
| Logowanie | sprawdza 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ła | wysyła setki próśb o link do zmiany hasła | fala maili do klientów, gorsza reputacja domeny sklepu |
| Newsletter | zapisuje cudze adresy, czasem tysiące w ciągu godziny | fał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.
| Rodzaj | Co widzi klient | Wady |
|---|---|---|
| Zniekształcony tekst lub działanie matematyczne | pole do przepisania znaków | męczy klientów, programy do rozpoznawania tekstu radzą sobie z nim coraz lepiej |
| Pole-pułapka (honeypot) | nic | zatrzymuje tylko najprostsze boty, które wypełniają każde pole |
| reCAPTCHA v2 „Nie jestem robotem” | pole wyboru, czasem zadanie z obrazkami | dodatkowy krok, zadania z obrazkami irytują, szczególnie na telefonie |
| reCAPTCHA v3 | nic — najwyżej małą plakietkę w rogu | wynik 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:
- o podatnościach CVE, objawach włamania i tym, co zrobić po ataku, piszemy w poradniku Bezpieczeństwo PrestaShop;
- o fail2ban, Cloudflare, limitach zapytań i ochronie przed DDoS — w artykule Zabezpieczenie serwera PrestaShop;
- jeśli chcesz, żeby ktoś sprawdził sklep za Ciebie, zobacz audyt bezpieczeństwa sklepu.
Źródła
- Imperva Bad Bot Report 2025 — udział botów w ruchu internetowym.
- OWASP Automated Threats to Web Applications — katalog zagrożeń automatycznych (m.in. credential stuffing, zakładanie kont).
- Google reCAPTCHA v3 — wynik, próg 0.5 i ważność tokenu.
- Google reCAPTCHA FAQ — ukrywanie plakietki.
- Plany reCAPTCHA (Google Cloud) — bezpłatny limit ocen.
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.