Captcha Anti-Spam: reCAPTCHA, hCaptcha i Turnstile. Moduł Captcha Anti-Spam chroni formularze sklepu (logowanie, rejestracja, odzyskiwanie hasła, kontakt, newsletter, opinia o produkcie i zamówienie jako gość) przed botami i spamem, z użyciem wybranego dostawcy: Google reCAPTCHA v2/v3, hCaptcha lub Cloudflare Turnstile. Weryfikacja odbywa się po stronie serwera przez HTTPS, każdy formularz ma własny przełącznik, a zaufane adresy IP lub zalogowanych klientów można pomijać. Bez kodowania i bez zmian w szablonie.
Moduł Captcha Anti-Spam chroni formularze sklepu (logowanie, rejestracja, odzyskiwanie hasła, kontakt, newsletter, opinia o produkcie i zamówienie jako gość) przed botami i spamem, z użyciem wybranego dostawcy: Google reCAPTCHA v2/v3, hCaptcha lub Cloudflare Turnstile. Weryfikacja odbywa się po stronie serwera przez HTTPS, każdy formularz ma własny przełącznik, a zaufane adresy IP lub zalogowanych klientów można pomijać. Bez kodowania i bez zmian w szablonie.
1. Instalacja
- W panelu administracyjnym (back office) należy przejść do Modules → Module Manager → Upload a module i wybrać plik ZIP modułu.
- Po zainstalowaniu należy kliknąć Configure, aby otworzyć ekran ustawień.
.local, .test, localhost) są zawsze dozwolone. Gdy dostępna jest nowa wersja, widać to bezpośrednio w module.Jeśli zamiast potwierdzenia pojawi się komunikat „Upload failed”, PrestaShop mógł wyłączyć moduł bez powiadomienia: ustawienia i dane pozostają na swoim miejscu. Jak zaktualizować moduł i co zrobić, gdy pojawi się komunikat „Upload failed”.
2. Konfiguracja krok po kroku
Ekran Configure jest podzielony na panele: Captcha provider, Protected forms, Advanced i Rate limiting. Każdy panel ma własny przycisk Save.
Captcha provider tu zaczynamy
Główny przełącznik oraz dostawca wraz z kluczami.
- Enable protection: główny przełącznik całego modułu. Wyłączony oznacza, że captcha nie jest wyświetlana ani sprawdzana w sklepie.
- Provider: do wyboru Google reCAPTCHA v2 (pole wyboru lub niewidoczna), reCAPTCHA v3, hCaptcha lub Cloudflare Turnstile. Klucze tworzy się w panelu dostawcy.
- Site key: klucz publiczny widoczny na stronie. Można go bezpiecznie ujawniać.
- Secret key: klucz prywatny, używany wyłącznie do weryfikacji po stronie serwera. Nigdy nie trafia do przeglądarki.
- reCAPTCHA v3 score threshold: minimalny wynik (0.0 = bot, 1.0 = człowiek) akceptowany dla reCAPTCHA v3. Typowa wartość:
0.5. - Widget theme: Light lub Dark, aby dopasować do wyglądu sklepu.
- Badge position: Bottom right, Bottom left lub Inline (dla reCAPTCHA v3 / niewidocznej oraz Turnstile).

Protected forms
Captchę włącza się formularz po formularzu. Należy włączyć tylko te formularze, które faktycznie mają być chronione.
- Login, Registration, Forgot password, Contact form, Newsletter, Product review i Guest checkout: każdy ma niezależny przełącznik.

Advanced opcjonalne
Dokładne dostrojenie zachowania weryfikacji. Ustawienia domyślne są rozsądne; można je pozostawić bez zmian.
- Fail closed: gdy usługa captcha jest nieosiągalna: ON blokuje wysłanie formularza, OFF przepuszcza je.
- Skip for logged-in customers: nie wyświetla ani nie sprawdza captchy dla zalogowanych klientów.
- Verification timeout (s): maksymalna liczba sekund oczekiwania na punkt weryfikacji dostawcy (1-30).
- Trusted IP whitelist: jeden adres IP w wierszu (lub oddzielone przecinkami). Te adresy IP całkowicie pomijają captchę.
- Verify hostname: odrzuca tokeny rozwiązane w innej domenie (powtórzenie / farmienie tokenów). Zalecane ON.
- Expected hostname (optional): nadpisuje nazwę hosta, względem której captcha musi być sprawdzana. Puste pole oznacza automatyczne użycie domeny sklepu; wiele hostów oddziela się przecinkami (np. domena CDN lub podglądu).
- Verify action: dla reCAPTCHA v3 i Turnstile: odrzuca token wygenerowany dla innego formularza. Zalecane ON.

Rate limiting opcjonalne
Tymczasowo blokuje adres IP po zbyt wielu nieudanych próbach captchy w tym samym formularzu, dodatkowa ochrona przed brute force.
- Enable rate limiting: włącza ogranicznik.
- Max failed attempts: liczba nieudanych prób dozwolonych na adres IP i formularz przed tymczasową blokadą (1-1000).
- Window (minutes): długość okna przesuwnego, w którym liczone są nieudane próby (1-1440).

3. Sprawdzenie działania
- Należy otworzyć chronioną stronę w sklepie (np. logowanie lub kontakt) i sprawdzić, czy pojawia się widżet captchy.
- Należy wysłać formularz bez rozwiązania captchy: powinien zostać odrzucony z komunikatem antyspamowym.
- Dla reCAPTCHA v3 / Turnstile należy sprawdzić, czy pływająca plakietka wyświetla się w wybranej pozycji.
- Jeśli adres IP został dodany do listy dozwolonych lub włączono „Skip for logged-in customers”, należy sprawdzić, czy w tych przypadkach captcha jest prawidłowo pomijana.
4. FAQ
Którego dostawcę wybrać?
Działa każdy z czterech. reCAPTCHA v2 pokazuje widoczne wyzwanie; reCAPTCHA v3 i Turnstile są niewidoczne i oparte na ocenie punktowej; hCaptcha to alternatywa nastawiona na prywatność. Odpowiednie klucze site/secret tworzy się w panelu danego dostawcy.
Czy moduł spowalnia sklep?
Nie. Weryfikacja odbywa się po stronie serwera tylko przy wysłaniu chronionego formularza, a zaufane adresy IP lub zalogowanych klientów można całkowicie pomijać.
Czy trzeba edytować szablon?
Nie. Moduł wstawia widżet przez standardowe hooki i jest zgodny z dowolnym szablonem.
Co się stanie, gdy usługa captcha nie działa?
Decyduje o tym sprzedawca. Przy włączonym Fail closed wysłanie formularza jest blokowane; przy wyłączonym formularz jest przepuszczany, aby prawidłowi odwiedzający nigdy nie utknęli.
