Co robi
Zabezpiecza logowanie, rejestrację, składanie zamówień, kontakt, odzyskiwanie hasła, dostęp do Back Office, biuletyny, komentarze oraz powiadomienia o dostępności. Tryb Obserwacja pozwala sprawdzić rzeczywiste działanie przed aktywacją jakichkolwiek blokad.
W trakcie składania zamówienia moduł zabezpiecza proces logowania oraz rejestrację klienta, które mają miejsce podczas zakupu. Nie weryfikuje on jednak płatności ani przycisku potwierdzającego zamówienie.
Każdy formularz posiada własny tryb („Wyłączony”, „Obserwacja” lub „Ochrona”), dzięki czemu można jednocześnie zabezpieczyć dostęp do Back Office i ograniczyć się wyłącznie do obserwacji formularza kontaktowego.
Moduł obsługuje dziesięć standardowych formularzy (logowanie i rejestracja, w tym podczas procesu zakupu; kontakt; odzyskiwanie hasła; dostęp do Back Office; biuletyny; komentarze do produktów oraz powiadomienia o dostępności) oraz umożliwia dodanie formularzy charakterystycznych dla Państwa szablonu za pomocą selektora CSS, bez konieczności edytowania szablonów. Jeśli Google lub Cloudflare przestaną odpowiadać, ani Państwa klienci, ani zespół nie zostaną pozbawieni dostępu: na czas trwania awarii moduł stosuje lokalne weryfikacje sprawdzane na serwerze.
Jak to działa
- Moduł nie zawiera własnego CAPTCHA: wykorzystuje Google reCAPTCHA (wersja 2 lub 3) lub Cloudflare Turnstile. Można wybrać dostawcę dla każdej platformy i dla każdego sklepu.
- Moduł wykrywa formularze zgodne z przeglądarką, dzięki czemu nie ma potrzeby edytowania szablonów. Ostateczna weryfikacja odbywa się na serwerze: sprawdza się domenę, akcję, termin ważności oraz to, czy token nie został wcześniej wykorzystany.
- Moduł instaluje się z wszystkimi formularzami w trybie „Wyłączony”. Każdy formularz posiada w każdym sklepie swój własny tryb: w trybie „Obserwacja” rejestruje, co by się wydarzyło, nikogo nie blokując, a w trybie „Ochrona” blokuje wysyłki bez prawidłowej weryfikacji. Formularz może przejść do trybu „Ochrona” dopiero po pozytywnym wyniku autotestu w trybie „Obserwacja”.
- Ustawienia są zapisywane osobno dla każdego sklepu. Aby pobrać raport pomocy technicznej, należy wybrać konkretny sklep.
- Jeśli serwer kilkakrotnie z rzędu nie zdoła nawiązać połączenia z Google lub Cloudflare, moduł oznacza sklep jako zdegradowany i wysyła powiadomienie e-mailem.
- Mechanizm zapasowy na wypadek awarii dostawcy (formularze klientów i dostęp do Back Office w trybie ochrony): tylko wtedy, gdy sam serwer potwierdzi, że dostawca jest niedostępny, akceptowane jest wysłanie zawierające sygnaturę czasową podpisaną przez stronę, puste pole kontrolne, kilka sekund od załadowania strony oraz normalną częstotliwość wysyłania. Każde użycie jest rejestrowane w statystykach jako „fallback used”. Funkcja ta jest domyślnie włączona i można ją wyłączyć za pomocą jednego przełącznika dla każdego sklepu. Przy logowaniu do Back Office wymagane są te same sygnały weryfikacyjne, co na serwerze, i nigdy nie stanowi to sposobu na ominięcie dostawcy, który faktycznie odpowiada: odrzucony token lub wysyłka bez tokenu w czasie, gdy dostawca działa, zostanie odrzucona jak zwykle. W przypadku awarii dostęp ten jest mniej odporny na ataki ukierunkowanych botów, dlatego zaleca się stosowanie drugiego czynnika uwierzytelniającego za pomocą aplikacji PrestaWard Authenticator.
- Tryb lokalny oparty na formularzu (newsletter, kontakt i powiadomienia o dostępności): formularz jest zabezpieczony wyłącznie za pomocą lokalnych mechanizmów weryfikacyjnych, obejmujących podpisany znacznik czasu, pole pułapkowe, minimalny czas wysyłania (4 sekundy) oraz własny limit wysyłek (od 1 do 50 co 10 minut). Nie ładuje żadnych skryptów od dostawców, nie wywołuje żadnego z nich i nie wymaga kluczy. Zachowuje swój własny tryb (Wyłączony, Obserwacja lub Ochrona) i przechodzi do trybu Ochrona dopiero po pomyślnym przejściu autotestu w trybie Obserwacji. Jest on mniej odporny na ukierunkowane ataki botów niż rozwiązania dostawców zewnętrznych, dlatego panel wyraźnie to zaznacza i nie udostępnia go do celów logowania, rejestracji, składania zamówień, odzyskiwania hasła, dostępu do Back Office ani dodawania komentarzy do produktów. Strona wyświetlana z pamięci podręcznej przez ponad sześć godzin może odrzucać wysyłkę; odświeżenie strony rozwiązuje ten problem.
- Zablokowane domeny pocztowe (rejestracja klientów, również podczas zakupów, oraz newsletter): lista sporządzona przez Państwa, jedna reguła w każdym wierszu, zawierająca dokładną domenę lub symbol wieloznaczny dla jej subdomen (maksymalnie 100 reguł). Domena poczty jest porównywana z listą przed skontaktowaniem się z dostawcą, a w przypadku dopasowania wiadomość jest odrzucana wraz z neutralnym komunikatem, który nie ujawnia treści listy. W sekcji „Obserwacja” rejestrowane są wyłącznie wiadomości, które zostałyby odrzucone. Adres e-mail odwiedzającego ani jego domena nie są zapisywane ani rejestrowane: dla każdego odrzucenia rejestrowany jest jedynie licznik oraz zdarzenie bez danych osobowych.
- Minimalna ocena reCAPTCHA v3 dla formularza: każdy formularz może mieć własną ocenę w zakresie od 0 do 1. Jeśli pozostawi Pan to pole puste, zostanie zastosowana ocena ogólna, więc nic się nie zmieni, dopóki nie ustali Pan konkretnej wartości. Formularz znajdujący się w trybie „Ochrona” z własną oceną wymaga dostosowania tej oceny w trybie „Obserwacja” oraz ponownego przeprowadzenia autotestu przed powrotem do trybu „Ochrona”.
- Wygląd widżetu (zakładka „Powierzchnie”): motyw (jasny, ciemny lub automatyczny) oraz rozmiar (normalny lub kompaktowy) dla pola reCAPTCHA v2 i Cloudflare Turnstile, również w Back Office. Wartości domyślne zachowują obecny wygląd.
- Filtr wstępny na serwerze (tryb „Ochrona”): oczywiste boty są odrzucane przed nawiązaniem połączenia z dostawcą, wyłącznie na podstawie jednoznacznych dowodów: wypełnionego pola-pułapki, sfałszowanego znacznika czasu, wysyłania danych szybciej niż człowiek byłby w stanie je wpisać lub nadmiernej liczby wysyłek na formularz i na odwiedzającego. Brakujący lub nieaktualny znacznik czasu nigdy nie jest traktowany jako dowód. Funkcję tę można wyłączyć dla poszczególnych sklepów.
- Nowe kontrole nie przechowują żadnych danych umożliwiających identyfikację odwiedzającego: dane są grupowane w anonimowym zbiorze, utworzonym na podstawie skrótu generowanego za pomocą klucza zmieniającego się codziennie, który istnieje wyłącznie w tabeli liczników, z której dane są usuwane po upływie dwóch dni.
- Zabezpieczenie przed awariami integracji (formularze klientów w trybie „Ochrona”): jeżeli formularz przestanie przesyłać token do serwera podczas działania dostawcy (na przykład po aktualizacji motywu, w wyniku działania własnego kodu JavaScript lub działania pamięci podręcznej stron), formularz ten samoczynnie przejdzie w tymczasowy tryb „Obserwacja”, aby nie odrzucać klientów, a Państwo otrzymają incydent w module oraz wiadomość e-mail. Powrót do trybu „Ochrona” następuje automatycznie, gdy problem ustąpi, a tokeny zostaną poprawnie zweryfikowane. Dostęp do Back Office nigdy nie jest zakłócany.
- Powiadomienia e-mailowe informują o incydentach operacyjnych oraz o nagłych wzrostach ruchu generowanego automatycznie. Odbiorców i progi konfiguruje się indywidualnie dla każdego sklepu.
Główne funkcje
- Własny tryb dla każdego formularza i sklepu: „Wyłączony”, „Obserwacja” lub „Ochrona”.
- Panel statystyk: przesyłki dopuszczone i zablokowane według formularza i dnia (7, 14 lub 30 dni), tendencja w porównaniu z poprzednim okresem, wykorzystanie mechanizmu zapasowego, żądania odrzucone przed przekazaniem do dostawcy, liczba przesyłek z każdego formularza sprawdzonych lokalnie oraz wskaźnik potencjalnych fałszywych alarmów. W sekcji „Obserwacja” osobna kolumna pokazuje, ile przesyłek zostałoby zablokowanych. Nie zawiera ona adresów ani wiadomości e-mail.
- Formularze własne: formularz, który nie jest rozpoznawany automatycznie (realizacja zamówienia na jednej stronie, formularze motywu), można przypisać, dla każdego sklepu, do powierzchni chronionej za pomocą selektora CSS (maksymalnie dziesięć, opcjonalnie ograniczonych do jednej strony). Panel informuje, że Ochrona jest utrzymywana tylko wtedy, gdy formularz wysyła dane na stronę weryfikowaną przez moduł.
- Google reCAPTCHA v2/v3 oraz Cloudflare Turnstile, z możliwością wyboru według powierzchni i sklepów, z minimalną oceną reCAPTCHA v3 dla każdego formularza.
- Dziesięć gotowych formularzy oraz własne formularze bez edycji szablonów.
- Tryb lokalny oparty na formularzach, bez kluczy ani skryptów stron trzecich, przeznaczony do newslettera, formularza kontaktowego oraz powiadomień o dostępności.
- Własna lista zablokowanych domen pocztowych dla rejestracji klientów i newslettera, stosowana przed skonsultowaniem się z dostawcą i bez zapisywania adresów e-mail ani domen.
- Mechanizm zapasowy na wypadek awarii dostawcy, również w zakresie dostępu do Back Office, który nadal odrzuca wszystko, co zostało odrzucone przez dostawcę.
- Motyw i rozmiar widżetu reCAPTCHA v2 oraz Cloudflare Turnstile.
- Uporządkowana zakładka „Powierzchnie”: zgrupowana tabela formularzy, selektor wyświetlający pełny tekst oraz przycisk „Zapisz” na stronie, bez nakładania się na kartę tymczasowego wstrzymania.
- Wiadomości e-mail dotyczące incydentów z logo Państwa sklepu w nagłówku oraz, w stopce, logo GO ON Agency wraz z podpisem „PrestaWard by GO ON Agency”. W treści wiadomości należy przedstawić formularz, przyczynę i status zgłoszenia, używając przetłumaczonych tekstów, a nie wewnętrznych kodów.
- Ujednolicony wygląd panelu we wszystkich czterech modułach PrestaWard: nagłówki sekcji, karty formularzy z neutralnymi obramowaniami i wspólne blokami rozwijanymi, statystyki wyświetlane w jednym wierszu oraz większe logo GO ON Agency w nagłówku. Główny przycisk otrzymuje jednolity kolor zgodny z identyfikacją wizualną marki, bez gradientu.
- Panel z zakładkami (Podsumowanie, Powierzchnie, Dostawca oraz Statystyki i rejestr, a także zakładka Pomoc techniczna, zawsze jako ostatnia): brana jest pod uwagę wyłącznie otwarta zakładka; zakładka Podsumowanie przedstawia stan w skrócie, zawierając maksymalnie jedną linię ostrzeżenia, a każda zakładka zachowuje wyłącznie własne ustawienia.
- Weryfikacja domeny, akcji, wygaśnięcia oraz ponownego wykorzystania tokenu.
- Kompatybilność z klasycznymi i Symfony-opartymi procesami w Back Office.
- Dokumentacja techniczna bez adresów e-mail, adresów IP, plików cookie ani tokenów.
- Okres przechowywania logów można skonfigurować indywidualnie dla każdego sklepu: domyślnie 30 dni, a w zakresie od 1 do 365 dni. Moduł codziennie usuwa logi, których okres przechowywania upłynął.
- Dane uwierzytelniające dostawcy są szyfrowane w stanie spoczynku.
- Zintegrowane Integrity API i heartbeat. Na ekranie modułu przycisk „Synchronizuj” aktualizuje połączenie z Integrity.
- Synchronizacja z Integrity po otwarciu panelu, za pomocą żądania w tle, które nie spowalnia działania strony, maksymalnie raz na minutę dla każdego sklepu.
- Panel pomocy technicznej GO ON Agency z raportem diagnostycznym do pobrania. Raport ten pobiera pracownik posiadający uprawnienia do edycji, po wybraniu konkretnego sklepu. Zawiera on informacje o wersjach, stanach i licznikach, nie zawiera danych klientów i nie jest wysyłany automatycznie.
- Panel i tłumaczenia na dziewięć języków.
Wymagania
- PrestaShop od wersji 1.7.7 do 9, z wersją PHP wymaganą przez Państwa wersję PrestaShop.
- Klucze Google reCAPTCHA lub Cloudflare Turnstile dla każdego sklepu, w którym aktywują Państwo ochronę. Klucze te tworzy sam sprzedawca na koncie dostawcy. Formularze działające w trybie lokalnym nie wymagają kluczy.
- W trybie Ochrony przeglądarka odwiedzającego musi mieć możliwość załadowania skryptu dostawcy. Jeśli skrypt nie zostanie załadowany, formularz nie zostanie wysłany, a odwiedzający zostanie poproszony o ponowną próbę, chyba że serwer potwierdzi, że dostawca jest niedostępny i zostanie zastosowany mechanizm zapasowy, lub formularz korzysta z trybu lokalnego.
Czego nie robi
- Nie jest to CAPTCHA hostowana na własnym serwerze: weryfikację przeprowadzają Google lub Cloudflare, zgodnie z ich własnymi zasadami ochrony danych. Serwer przesyła im token oraz adres IP odwiedzającego w celu weryfikacji.
- Nie blokuje niczego ani w trybie „Wyłączonym”, ani w trybie „Obserwacji”.
- Tryb lokalny nie zastępuje dostawcy: jest mniej skuteczny w obliczu ukierunkowanych botów, jest dostępny wyłącznie w przypadku newslettera, formularza kontaktowego oraz powiadomień o dostępności, a w tych formularzach mechanizm zapasowy na wypadek awarii, nadzór integracyjny oraz mechanizm zabezpieczający dostawcy nie mają zastosowania, ponieważ nie ma dostawcy, który mógłby ulec awarii.
- Nie zawiera list domen pocztowych ani adresów stron trzecich: listę zablokowanych domen tworzy i aktualizuje Pan/Pani samodzielnie; nie jest ona aktualizowana automatycznie.
- Nie chroni procesu płatności, innych formularzy niewymienionych na liście (z wyjątkiem tych, które sam Pan/Pani przypisze za pomocą selektora CSS) ani interfejsu API administracyjnego PrestaShop.
- Nie zastępuje to zapory aplikacji internetowych (WAF).
- Stopka wiadomości e-mail modułu nie zawiera linków, danych kontaktowych ani obrazów przechowywanych poza Państwa sklepem: logo GO ON Agency jest plikiem należącym do samego modułu, który jest udostępniany z Państwa sklepu.
- Nie przechowuje tokenów, sekretów, haseł, plików cookie, adresów e-mail ani adresów IP w swoich rejestrach.
Zweryfikowana kompatybilność
Wersja 0.2.7 przeszła pomyślnie testy laboratoryjne w PrestaShop 1.7, 8 i 9 w dniu 15 października 2026 r., również w przypadku kompilacji końcowej: czysta instalacja oraz aktualizacja z wersji 0.2.6, a także dostęp do Back Office za pomocą rzeczywistej przeglądarki we wszystkich trzech wersjach (odrzucenie przez dostawcę, zablokowany skrypt oraz symulowana awaria dostawcy). W PrestaShop 9 odrzucony captcha wyświetla komunikat Captcha, po którym następuje ogólny komunikat, który PrestaShop zawsze dodaje.
Poprzednie wersje zostały przetestowane w PrestaShop 1.7.8.11 z PHP 7.4, PrestaShop 8.2.7 z PHP 8.1 oraz PrestaShop 9.1.4 z PHP 8.5. Weryfikacja obejmuje formularze w interfejsie użytkownika (Front Office), logowanie do panelu administracyjnego (Back Office) oraz pełny przebieg powiadomień o dostępności za pośrednictwem ps_emailalerts.
Bezpieczne użytkowanie
Instalacja nie powoduje żadnych blokad. Proszę skonfigurować klucze dostawcy, sprawdzić formularze w trybie „Obserwacja” i przejść do trybu „Ochrona” dopiero po uzyskaniu prawidłowego wyniku diagnostyki.
Dziennik zmian
Ta lista zmian podsumowuje, wersja po wersji, wpływ aktualizacji na sklepy i zespoły e-commerce.
0.2.7
- Nowość: tryb lokalny dla poszczególnych formularzy. Biuletyn, formularz kontaktowy oraz powiadomienia o dostępności można zabezpieczyć wyłącznie za pomocą lokalnych mechanizmów weryfikacyjnych (podpisany znacznik czasu, pole pułapkowe, minimalny czas wysyłania wynoszący 4 sekundy oraz limit wysyłek), bez konieczności ładowania skryptów od dostawców ani stosowania kluczy. Każdy formularz zachowuje swój tryb (Wyłączony, Obserwacja lub Ochrona) i przechodzi do trybu Ochrona dopiero po pomyślnym przejściu autotestu w trybie Obserwacji. Jest on mniej odporny na ukierunkowane ataki botów niż rozwiązanie dostawcy i nigdy nie jest udostępniany w przypadku dostępu, rejestracji, składania zamówień, odzyskiwania hasła, Back Office ani komentarzy. Statystyki pokazują, ile przesłanych danych z każdego formularza zostało sprawdzonych lokalnie. Strona wyświetlana z pamięci podręcznej, która była pełna przez ponad sześć godzin, może odrzucić przesłanie danych; ponowne załadowanie strony rozwiązuje ten problem.
- Nowość: zablokowane domeny pocztowe. Lista sporządzona przez Państwa (jedna reguła w każdym wierszu, dokładna domena lub symbol wieloznaczny dla jej subdomen, maksymalnie 100 reguł) ma zastosowanie do rejestracji klientów, również podczas procesu zakupu, oraz do newslettera. Sprawdzenie odbywa się przed nawiązaniem połączenia z dostawcą, a wiadomość e-mail, która pasuje do kryteriów, zostaje odrzucona wraz z neutralnym komunikatem, który nie ujawnia treści listy. W sekcji „Obserwacja” rejestrowane są wyłącznie te wiadomości, które zostałyby odrzucone. Nie zapisuje się ani samej wiadomości, ani jej domeny: jedynie licznik oraz zdarzenie bez danych osobowych dla każdego odrzucenia.
- Nowość: minimalna ocena reCAPTCHA v3 dla każdego formularza. Jeśli pozostawi się to pole puste, stosowana jest ocena ogólna, więc nic się nie zmienia, dopóki nie ustali się konkretnej wartości. Wprowadzenie nieprawidłowej wartości powoduje powrót do oceny ogólnej.
- Nowość: motyw (jasny, ciemny lub automatyczny) oraz rozmiar (normalny lub kompaktowy) widżetu reCAPTCHA v2 i Cloudflare Turnstile, również w Back Office. Wartości domyślne zachowują obecny wygląd; reCAPTCHA v3 oraz niewidoczna wersja reCAPTCHA v2 nie wyświetlają widżetu. W przypadku reCAPTCHA opcja „automatyczny” dostosowuje się do schematu kolorów odwiedzającego.
- Dostęp do Back Office korzysta z tego samego lokalnego mechanizmu zapasowego, co formularze klientów, wyłącznie w sytuacji, gdy dostawca jest niedostępny, a serwer to potwierdza. Dostawca, który zwrócił komunikat „weryfikacja nieudana”, jest nadal odrzucany zgodnie z dotychczasową procedurą. Każde użycie jest rejestrowane jako „fallback used”; przełącznik dla danego sklepu wyłącza tę funkcję, a tymczasowe zawieszenie operatora pozostaje aktywne. Ekran logowania nigdy nie zostaje zablokowany: skrypt zgłasza błąd do serwera, a następnie w każdym przypadku wysyła formularz. W przypadku awarii zabezpieczenie to jest mniej skuteczne w obliczu ukierunkowanego ataku botów; zaleca się utrzymanie aplikacji PrestaWard Authenticator jako drugiej bariery. Mechanizm zabezpieczający przed błędami integracji nadal nie ma wpływu na Back Office.
- Panel podzielony jest na zakładki („Podsumowanie”, „Powierzchnie”, „Dostawca” oraz „Statystyki i rejestr”) i uwzględnia wyłącznie aktualnie otwartą zakładkę. W zakładce „Podsumowanie” wyświetlany jest status każdego dostawcy, informacje o pomyślnych i nieudanych weryfikacjach z ostatnich 24 godzin, aktualny status każdego formularza oraz maksymalnie jeden wiersz ostrzeżenia, który przekierowuje do zakładki, w której problem został rozwiązany. Każda zakładka posiada własny przycisk „Zapisz” i zapisuje wyłącznie te ustawienia, które są w niej widoczne. Panel pomocy technicznej GO ON Agency posiada własną zakładkę „Pomoc techniczna”, która zawsze znajduje się jako ostatnia, a status Integrity jest wyświetlany na końcu wszystkich zakładek.
- Zmienia wygląd zakładki „Powierzchnie”: zgrupowano tabelę formularzy, dostosowano selektor tak, aby tekst nie był już ucięty (wcześniej wyświetlał się „Desa”), a przycisk „Zapisz” umieszczono poza kartą tymczasowego wstrzymania, tak aby jej nie nakładał się. Motyw i rozmiar widżetu można dostosować w jednej z sekcji tej zakładki.
- Poprawia komunikat „aktywowane formularze, które nie przeszły testu”: pojawiał się on w przypadku sześciu formularzy, mimo że wszystkie były wyłączone. Obecnie uwzględniane są wyłącznie formularze, które nie znajdują się w trybie „Wyłączony”.
- W nowych instalacjach powiadomienia e-mailowe o incydentach są wyłączone do momentu podania adresu, dzięki czemu konfigurację można zapisać od samego początku. Instalacje, które są aktualizowane, zachowują swoje ustawienia.
- Wiadomości e-mail dotyczące incydentów (otwartych i rozwiązanych) zawierają logo Państwa sklepu w nagłówku (z nazwą sklepu jako tekstem alternatywnym) oraz wspólną stopkę z logo GO ON Agency i podpisem „PrestaWard by GO ON Agency”, bez żadnych linków ani danych kontaktowych. Logo w stopce jest plikiem pochodzącym z samego modułu, udostępnianym z Państwa sklepu.
- Poprawia sytuację, w której treść wiadomości e-mail dotyczącej incydentu zawierała wewnętrzne kody (na przykład „configuration_test” lub „opened”): obecnie podaje się formularz, przyczynę oraz status za pomocą tekstów przetłumaczonych na dziewięć języków.
- Naprawia błąd, w wyniku którego nieprawidłowe wywołanie dostawcy powodowało zablokowanie formularza w interfejsie użytkownika; wywołania dostawcy ze skryptu sklepu są zabezpieczone tak samo jak te związane z dostępem do Back Office.
- Ujednolicony wygląd panelu we wszystkich czterech modułach PrestaWard: nagłówki sekcji, karty formularzy z neutralnymi obramowaniami i wspólne blokami rozwijanymi, statystyki wyświetlane w jednym wierszu oraz większe logo GO ON Agency w nagłówku. Główny przycisk otrzymuje jednolity kolor zgodny z identyfikacją wizualną marki, bez gradientu.
- Koryguje sytuację, w której w PrestaShop 9 motyw panelu administracyjnego wyświetlał zakładki z podkreśleniem jako linki, a tytuły sekcji były pisane wielkimi literami. Wspólne style neutralizują to zjawisko wyłącznie w panelu PrestaWard, dzięki czemu PrestaShop 1.7 i 8 wyglądają tak samo jak dotychczas.
- Naprawia błąd, w wyniku którego w PrestaShop 1.7 arkusz stylów modułu był odrzucany podczas rejestrowania go z numerem wersji w adresie. Obecnie plik jest sprawdzany i rejestrowany bez parametrów, dzięki czemu nowy wygląd pojawia się w wersjach 1.7, 8 i 9.
- Poprawia sytuację, w której w PrestaShop 9 synchronizacja z Integrity sprawdzała token bezpieczeństwa przy użyciu metody, której PrestaShop 9 nie stosuje, co mogło powodować odrzucenie. Obecnie weryfikacja odbywa się za pomocą usługi PrestaShop 9; w PrestaShop 1.7 i 8 sposób sprawdzania pozostaje bez zmian.
- Gdy połączenie z Integrity nie może zostać zaktualizowane w danym momencie, panel wyświetla jeden komunikat: zapisane połączenie pozostaje ważne i zostanie automatycznie ponowione. Etykiety wszystkich zakładek są przetłumaczone na dziewięć języków.
- Tryb lokalny posiada własny limit wysyłek (od 1 do 50 co 10 minut). Aktualizacja kopiuje aktualny limit z mechanizmu zapasowego, więc po aktualizacji nic się nie zmienia, a zmiana jednego z tych dwóch limitów nie powoduje już zmiany drugiego.
- Poprawia sytuację, w której w PrestaShop 9 odrzucony kod CAPTCHA (na przykład z powodu nieprawidłowego klucza serwisu w sekcji „Ochrona”) wyświetlał jedynie ogólny komunikat PrestaShop dotyczący pracownika lub hasła. Moduł wyświetla teraz własny komunikat we wszystkich wersjach; PrestaShop 9 nadal dodaje na końcu swój ogólny komunikat.
- Naprawia problem, w wyniku którego połączenie z Integrity ulegało pogorszeniu w kontekście „wszystkie sklepy” w Back Office lub gdy test rejestracji był obsługiwany przez sklep inny niż pierwszy. Identyfikator instalacji jest teraz odczytywany jako całość z zakresu globalnego (lub ze sklepu, w którym jest zapisany) w dowolnym kontekście; aktualizacja przenosi do zakresu globalnego identyfikator zapisany w sklepie bez jego ponownego generowania, a jeśli nie można go odczytać, stan Integrity pozostaje bez zmian.
- W nagłówku produktu ponownie wyświetla się logo GO ON Agency oraz podpis „PrestaWard by GO ON Agency”, bez linków.
- Dopóki korzystają Państwo z usług danego dostawcy, jego token jest nadal wymagany dokładnie tak samo jak dotychczas. Wykryte interfejsy, zapisane ustawienia oraz umowa z Integrity API pozostają bez zmian, a nowe sposoby odrzucania lub weryfikacji formularza (tryb lokalny i zablokowane domeny) są domyślnie wyłączone. Aktualizacja nie modyfikuje żadnej tabeli: dodaje jedynie nowe ustawienia o wartościach, które zachowują dotychczasowe zachowanie.
0.2.6
- Każdy formularz posiada w każdym sklepie własny tryb („Wyłączony”, „Obserwacja” lub „Ochrona”), zamiast jednego trybu dla całego sklepu z dodatkowymi przełącznikami. W ten sposób można zabezpieczyć dostęp do Back Office i ustawić formularz kontaktowy wyłącznie w trybie „Obserwacja”. Formularz przechodzi w tryb „Ochrona” dopiero po pozytywnym wyniku autotestu w trybie „Obserwacja”, a aktualizacja zachowuje dotychczasowe zachowanie każdego sklepu.
- Mechanizm zapasowy na wypadek awarii dostawcy (formularze klientów w trybie „Ochrona”): jeżeli serwer potwierdzi, że nie można skorzystać z reCAPTCHA lub Turnstile, formularz zostanie zaakceptowany wyłącznie pod warunkiem, że zawiera podpisany znacznik czasu, puste niewidoczne pole kontrolne, upłynęło kilka sekund od załadowania strony oraz zachowana jest normalna częstotliwość wysyłania danych. Każde użycie jest rejestrowane w statystykach. Funkcja ta jest domyślnie włączona, można ją wyłączyć dla poszczególnych sklepów, a Back Office nigdy z niej nie korzysta.
- Zmiana, na którą należy zwrócić uwagę: po włączeniu tej ochrony otwarty wyłącznik nie przepuszcza już wszystkich wysyłek, lecz stosuje te same lokalne weryfikacje. Aby zachować poprzednie zachowanie, można ją wyłączyć.
- Filtr wstępny na serwerze (tryb „Ochrona”): odrzuca oczywiste boty przed nawiązaniem połączenia z dostawcą, wyłącznie na podstawie jednoznacznych dowodów (wypełnione pole-pułapka, sfałszowany znacznik czasu, wysyłanie szybsze niż w przypadku osoby piszącej ręcznie lub ponad 30 wysyłek z jednego formularza na jednego odwiedzającego co 10 minut). Można go wyłączyć dla poszczególnych sklepów.
- Nowe kontrole nie przechowują żadnych danych umożliwiających identyfikację: odwiedzający są grupowani w anonimowej puli z kluczem zmieniającym się każdego dnia, wyłącznie w liczniku, który jest czyszczony po dwóch dniach.
- Nowy panel statystyk: wysyłki dopuszczone i zablokowane według formularza i dnia (7, 14 lub 30 dni), tendencja w porównaniu z poprzednim okresem, użycia mechanizmu zapasowego, żądania odrzucone przed dotarciem do dostawcy, wskaźnik potencjalnych fałszywych alarmów oraz, w trybie „Obserwacja” wysyłki, które zostałyby zablokowane. Nie zawiera adresów ani wiadomości e-mail.
- Formularze niestandardowe: formularz, który nie jest rozpoznawany automatycznie (proces realizacji zamówienia na jednej stronie, formularze motywu), można przypisać dla każdego sklepu do obszaru chronionego za pomocą selektora CSS (maksymalnie dziesięć). Panel ostrzega, że Ochrona działa skutecznie tylko wtedy, gdy formularz wysyła dane na stronę weryfikowaną przez moduł.
- Zabezpieczenie przed awariami integracji (formularze klientów w trybie „Ochrona”): jeśli formularz przestanie przesyłać token do serwera podczas działania dostawcy (z powodu aktualizacji motywu, własnego kodu JavaScript lub pamięci podręcznej strony), formularz samoczynnie przechodzi w tymczasowy tryb „Obserwacja”, a Państwo otrzymują incydent i wiadomość e-mail. System powraca do trybu „Ochrona” po upływie 15 minut bez wystąpienia problemu oraz po zweryfikowaniu trzech tokenów. Dostęp do Back Office nigdy nie jest zakłócany, a oczywiste boty są nadal odrzucane.
- Aktualizacja tworzy niewielką tabelę licznika oraz nowe ustawienia z bezpiecznymi wartościami, a także zachowuje istniejące ustawienia i zdarzenia.
- Panel pomocy technicznej i diagnostyki znajduje się tuż przed sekcją Integrity, podobnie jak w pozostałych modułach PrestaWard, i w kontekście „wszystkie sklepy” nie znika już: wskazuje on, że należy wybrać sklep.
- Synchronizacja z Integrity odbywa się przy każdym otwarciu panelu, za pomocą żądania w tle, które nigdy nie spowalnia działania strony, maksymalnie raz na minutę dla każdego sklepu.
0.2.5
- Naprawia usługę logowania do Back Office w PrestaShop 1.7. W PrestaShop 9 weryfikacja ogranicza się do formularza logowania do Back Office i nie ma wpływu na API administracyjne.
- Przestaje ponawiać próby rejestracji w Integrity po zmianie klucza rejestracyjnego sklepu i wyświetla wyraźny komunikat ostrzegawczy.
- Odnawia podpisaną politykę Integrity przed upływem jej ważności i zachowuje obowiązującą politykę w przypadku niepowodzenia odnowienia.
- Poprawia dołączony klucz polityki, aby działał w PHP 7.1 i 7.2.
- Dodaje panel pomocy technicznej GO ON Agency w dziewięciu językach wraz z raportem diagnostycznym do pobrania, który nie zawiera danych klientów ani nie jest wysyłany automatycznie. Raport ten może pobrać wyłącznie pracownik posiadający uprawnienia do edycji, który wybrał konkretny sklep.
- Rzeczywiście stosowany jest okres przechowywania rejestrów technicznych (domyślnie 30 dni, konfigurowalny dla każdego sklepu): dotychczas były one przechowywane bez ograniczeń. Każdy sklep codziennie usuwa wygasłe rejestry, a nie ma to wpływu na incydenty.
- Deklaruje zgodność z PrestaShop 1.7.7.0, najstarszą przetestowaną wersją.
0.2.4
- Poprawia proces przesyłania danych logowania administratora za pomocą Turnstile po rozwiązaniu CAPTCHA, zachowując przycisk, który zainicjował przesyłanie.
- Poprawia test rejestracji w PrestaShop 9 oraz ulepsza diagnostykę i ponowne próby Integrity.
0.2.3
- Wersja nieopublikowana, zastąpiona wersją 0.2.4.
0.2.2
- Zapobiega sytuacji, w której inne skrypty JavaScript motywu rozpoczynają wysyłanie danych, podczas gdy CAPTCHA pozostaje nadal nierozwiązana.
- Eliminuje niekończące się stany ładowania oraz żądania wysyłane przed uzyskaniem ważnego tokenu.
- Wyświetla CAPTCHA po otwarciu formularzy logowania lub rejestracji, które były ukryte podczas ładowania strony.
0.2.1
- Przywraca widoczny CAPTCHA przed pierwszą próbą logowania w interfejsie użytkownika (Front Office) oraz w panelu administracyjnym (Back Office).
- Zapobiega to wyświetlaniu przez pamięć podręczną starego lub nieprawidłowego CAPTCHA po aktualizacji modułu.
- Zastępuje wyskakujące okienko ostrzeżeniem, które jest dostępne, widoczne i dostosowane do urządzeń mobilnych.
- Pozostawia błędy Back Office na ekranie logowania w postaci pojedynczy komunikat o błędzie, bez pustych stron.
0.2.0
- Dodaje Cloudflare Turnstile z zaszyfrowanymi danymi uwierzytelniającymi oraz niezależnym wyborem według powierzchni.
- Wiąże każdy token z chronioną akcją i odświeża wyzwanie przy powtarzanych wysyłkach.
- Ulepsza wykrywanie formularzy logowania, rejestracji, odzyskiwania hasła, realizacji zamówienia, newsletterów oraz powiadomień.
- Wprowadza tymczasową, ograniczoną i objętą audytem pauzę operacyjną, bez osłabiania podpisanej polityki Integrity.
- Aktualizuje panel, jego responsywny układ oraz tłumaczenia na dziewięć języków.
- Wzmacnia trwałość w trybie „fail-closed” ostatniej zweryfikowanej polityki Integrity.
0.1.2
- Rozróżnia automatyczne fale zdarzeń od awarii operacyjnych i zapobiega powielaniu alertów.
- Automatycznie zamyka incydenty dotyczące ruchu zautomatyzowanego po okresie wyciszenia.
0.1.1
- Sprawdzenie dostępności według powierzchni przed aktywacją funkcji „Ochrona”.
- Stan operacyjny, historia incydentów, filtry, paginacja i czyszczenie.
- Ograniczona telemetria stanu oraz integracja z funkcją „heartbeat” Integrity.
0.1.0
- Pierwsza publiczna wersja kandydacka.
- Niezależna ochrona dla poszczególnych powierzchni i sklepów.
- Integracja z reCAPTCHA v2 i v3.
- Rejestracja, podpisana polityka oraz heartbeat PrestaWard Integrity.
- Sprawdzanie dostępności aktualizacji oraz spójny wygląd ekosystemu.
- Obsługa wielu wersji oraz pełny katalog w dziewięciu językach.
Licencja i pomoc techniczna
Moduł PrestaWard Captcha jest udostępniany na licencji Academic Free License 3.0 (AFL-3.0). Mogą Państwo z niego korzystać, analizować go, modyfikować i rozpowszechniać zgodnie z jej warunkami.
Pomoc techniczna: hola@go-onagency.es.