1. Do czego służy moduł

Boty wysyłają spam przez formularz kontaktowy, zakładają fałszywe konta, zgadują hasła w formularzu logowania, zamawiają e-maile do zmiany hasła na przypadkowe adresy i zaśmiecają listę newslettera. Moduł chroni te pięć formularzy za pomocą Google reCAPTCHA v3: Google ocenia każdą wizytę w tle, więc klienci nie widzą żadnych zagadek ani pól do zaznaczenia, a moduł zatrzymuje formularze wysłane przez boty.

Chronione formularze: formularz kontaktowy, logowanie (także w trakcie składania zamówienia), rejestracja (także formularz gościa i konta w zamówieniu), prośba o zmianę hasła i zapis do newslettera.

Działa z PrestaShop 1.7.8, 8.x i 9.x (PHP 7.2.5 lub nowszy), z szablonami Classic i Hummingbird oraz w trybie multistore.

2. Instalacja

  1. Pobierz moduł z Moje konto → Historia zamówień w addonspresta.com.
  2. W panelu administracyjnym otwórz Moduły → Menedżer modułów i kliknij Prześlij moduł.
  3. Upuść plik ap_recaptcha_v1.0.0.zip i poczekaj na potwierdzenie.
  4. Kliknij Konfiguruj na karcie modułu.

Jeśli masz dostęp do konsoli serwera, możesz też rozpakować archiwum do katalogu modules/ i w katalogu sklepu uruchomić php bin/console prestashop:module install ap_recaptcha.

Klucze Google

  1. Otwórz konsolę administracyjną Google reCAPTCHA, https://www.google.com/recaptcha/admin, i zaloguj się kontem Google.
  2. Utwórz klucz: nadaj mu nazwę, wybierz Oparty na wyniku (v3) i dodaj wszystkie domeny sklepu (np. mojsklep.pl; subdomeny są objęte automatycznie).
  3. Google pokaże dwa klucze: klucz witryny i klucz tajny. Wklej je w module (punkt 4).

Google daje 10 000 bezpłatnych sprawdzeń miesięcznie na organizację Google Cloud, co wystarcza większości sklepów; powyżej tej liczby Google prosi o włączenie płatności w Google Cloud. Klucze utworzone wcześniej Google przeniósł do projektów Google Cloud i nadal działają.

3. Jak to działa

Moduł dodaje do stron sklepu mały skrypt. Gdy odwiedzający zaczyna wypełniać chroniony formularz, skrypt wczytuje reCAPTCHA od Google. Przy wysyłce skrypt prosi Google o jednorazowy token i dołącza go do formularza. Serwer sklepu pyta wtedy Google, ile ten token jest wart: wynik od 0.0 (na pewno bot) do 1.0 (na pewno człowiek). Poniżej Twojego progu formularz zostaje zatrzymany, a odwiedzający widzi komunikat: „Nie udało się potwierdzić, że nie jesteś robotem. Spróbuj ponownie.”

Co zostaje, gdy formularz jest zatrzymany:

  • formularz kontaktowy i rejestracja — wszystko, co klient wpisał, zostaje w formularzu;
  • logowanie i zmiana hasła — strona przeładowuje się z komunikatem, adres e-mail trzeba wpisać ponownie;
  • newsletter — komunikat pojawia się zamiast potwierdzenia zapisu.

Moduł sprawdza też, czy token powstał dla tego formularza i w domenie Twojego sklepu. Token działa tylko raz.

Jeśli Google nie odpowie w ciągu 3 sekund, formularz domyślnie przechodzi (albo jest blokowany, jeśli tak wybierzesz), a problem trafia do Zaawansowane → Logi.

Przeglądarka odwiedzającego łączy się z Google tylko wtedy, gdy używa chronionego formularza, a nie na każdej stronie. Moduł wysyła do Google tylko token i Twój klucz tajny. Nie łączy się z addonspresta.com.

4. Funkcje i ustawienia

Otwórz Moduły → Menedżer modułów → Niewidoczna reCAPTCHA v3 → Konfiguruj. Ramka Pomoc na górze prowadzi do tej instrukcji, do strony modułu w addonspresta.com i do naszego adresu wsparcia.

Klucze Google reCAPTCHA

Klucz witryny i Klucz tajny — wklej klucze z konsoli Google. Klucz tajny nie jest już pokazywany po zapisie: zostaw pole puste, aby go zachować. Dopóki oba klucze nie są zapisane, żaden formularz nie jest chroniony.

Przy zapisie strona pobiera testowy token z Twoim kluczem witryny i prosi Google o sprawdzenie go Twoim kluczem tajnym. Zobaczysz jeden z komunikatów:

  • Google zaakceptował klucze — wszystko działa;
  • Google nie zaakceptował kluczy — klucz tajny należy do innego klucza witryny albo klucz nie jest oparty na wyniku (v3);
  • Nie udało się sprawdzić kluczy — Google nie wydał tokenu na tej stronie: sprawdź klucz witryny i czy Twoja domena jest na jego liście domen;
  • Google zaakceptował klucze, ale test odbył się na… — panel działa w innej domenie niż sklep: upewnij się, że domena sklepu też jest na liście domen klucza.

Chronione formularze

Formularz kontaktowy, Logowanie, Rejestracja, Reset hasła, Newsletter — wyłącz formularz, którego nie chcesz sprawdzać. Formularz kontaktowy wymaga natywnego modułu Formularz kontaktowy, a newsletter modułu Subskrypcja newslettera; gdy któryś z nich jest wyłączony, jego przełącznik jest nieaktywny.

Działanie

Próg wyniku — formularze z niższym wynikiem są zatrzymywane. Google zaleca 0.5. Wyższa wartość zatrzymuje więcej botów, ale też więcej prawdziwych klientów.

Gdy Google nie odpowiada — Przepuść formularz (zalecane: klienci zawsze mogą się zalogować i do Ciebie napisać) albo Zablokuj formularz.

Plakietka reCAPTCHA — Google pokazuje małą plakietkę w prawym dolnym rogu stron z chronionym formularzem. Możesz ją ukryć; Google wymaga wtedy swojej informacji („Ta strona jest chroniona przez reCAPTCHA i obowiązują na niej Polityka prywatności oraz Warunki korzystania z usług Google.”) pod każdym chronionym formularzem — moduł ją dodaje.

Tryb testowy — sprawdza każdy formularz, ale żadnego nie zatrzymuje. Każdy formularz, który zostałby zatrzymany, trafia do Zaawansowane → Logi z powodem i wynikiem. Włącz go na kilka dni, żeby dobrać próg, a potem wyłącz.

Pomiń formularz kontaktowy dla zalogowanych klientów — klienci z kontem piszą do Ciebie bez sprawdzania.

5. Multistore

Klucze i ustawienia zapisują się dla sklepu albo grupy sklepów wybranej w nagłówku panelu. Wybierz Wszystkie sklepy, aby ustawić te same wartości wszędzie, albo jeden sklep, aby nadać mu własne — na przykład własne klucze, gdy sklep ma własną domenę. Jedna licencja obejmuje wszystkie sklepy instalacji.

6. Odinstalowanie

Menedżer modułów → Niewidoczna reCAPTCHA v3 → Odinstaluj usuwa ustawienia modułu razem z Twoimi kluczami Google. Aby je zachować, użyj Wyłącz. Klucze zostają w Twojej konsoli Google.

7. Najczęstsze pytania i problemy

Czy muszę wspomnieć o reCAPTCHA w polityce prywatności? Tak. Gdy ktoś używa chronionego formularza, Google otrzymuje jego adres IP i zapisuje własne pliki cookie. Możesz dodać, dopasowując do swojej polityki: „Aby chronić nasze formularze przed spamem i nadużyciami, korzystamy z Google reCAPTCHA (Google Ireland Limited). Gdy używasz formularza, Google przetwarza dane o Twoim urządzeniu i sposobie korzystania ze strony, aby odróżnić ludzi od botów. Obowiązują Polityka prywatności i Warunki korzystania z usług Google.” Zapytaj swojego doradcę, czy baner cookies też powinien to wymieniać.

Klienci piszą, że widzą „Nie udało się potwierdzić, że nie jesteś robotem”. Włącz Tryb testowy i sprawdź wyniki w Zaawansowane → Logi. Jeśli prawdziwi klienci dostają niskie wyniki, obniż Próg wyniku (np. do 0.3). Niższe wyniki dostają klienci korzystający z VPN albo blokujący skrypty zewnętrzne.

Po zatrzymaniu formularz kontaktowy pokazuje dwa komunikaty. Moduł Formularz kontaktowy dodaje własny komunikat „spróbuj ponownie”, gdy moduł zatrzyma wiadomość. Tak ma być; klient musi tylko wysłać formularz jeszcze raz.

Spam nadal przychodzi. Sprawdź, czy oba klucze są zapisane i czy Tryb testowy jest wyłączony. Potem podnieś trochę Próg wyniku, np. do 0.7. Spam wysyłany przez formularz innego modułu nie jest zatrzymywany.

Przestało działać logowanie w okienku mojego szablonu. Niektóre szablony logują klientów we własnym okienku. Wyłącz Logowanie (albo Rejestrację) albo poproś autora szablonu o standardowy formularz logowania.

Nic nie jest sprawdzane i nie widać plakietki. Zapisz oba klucze, a potem wyczyść pamięć podręczną w Zaawansowane → Wydajność. Plakietka pojawia się tylko na stronach z chronionym formularzem, gdy odwiedzający zacznie go wypełniać.

Po ukryciu plakietki pod formularzami nie ma informacji Google. Informację wstawia hook displayBeforeBodyClosingTag, który mają szablony Classic i Hummingbird. Własny szablon musi go zawierać.

W logach są problemy z Google. „Google check failed (service…)” oznacza, że serwer nie połączył się z Google: sprawdź, czy może otwierać połączenia HTTPS do www.google.com. „Google check failed (secret…)” oznacza błędny klucz tajny: wklej go ponownie.

8. Aktualizacje i wsparcie

Aktualizacje są bezpłatne dożywotnio: nowe wersje pobierasz z Moje konto → Historia zamówień w addonspresta.com i wgrywasz jak nowy moduł. Ustawienia zostają zachowane.

Wsparcie obejmuje 12 miesięcy od zamówienia: napisz na mail@addonspresta.com albo przez formularz kontaktowy w addonspresta.com (od poniedziałku do piątku, 10:00–16:00; odpowiadamy zwykle w ciągu 2 dni roboczych). Podaj wersję PrestaShop, wersję modułu i kroki, które prowadzą do problemu.

Wróć do: Instrukcje modułów

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