Moduł PrestaShop

PrestaWard Facet Shield

Ochrona operacyjna nawigacji fasetowej w PrestaShop. Wykrywa nadmiernie złożone zapytania filtrujące i pozwala ograniczyć wyłącznie te, które mogą spowodować spowolnienie działania sklepu.

Wyłączna dystrybucja na platformie PrestaShop Marketplace (Addons).

Obserwacja + Ochrona + dowody

  • Nie modyfikuje modułu ps_facetedsearch
  • Zawsze zaczyna w trybie „Obserwacja”
  • Zagregowane wskaźniki; brak zapisanych adresów IP
  • PrestaShop 1.7, 8 i 9

Co robi

Wyszukiwanie fasetowe może generować bardzo obciążające kombinacje filtrów. Nawet niewielka liczba nietypowych żądań może zużywać zasoby, spowalniać działanie kategorii lub uniemożliwić dostęp do sklepu. PrestaWard Facet Shield analizuje tę złożoność, zanim moduł fasetowy przetworzy żądanie.

Nie zastępuje on wyszukiwarki ani nie zmienia jej indeksów. Działa jak ograniczony mechanizm zabezpieczający: analizuje wzorzec każdego żądania i tylko wtedy, gdy polityka zostanie wyraźnie aktywowana, odrzuca kombinacje przekraczające skonfigurowane limity.

Jak to działa

  1. Najpierw obserwacja. Rejestruje w ujęciu zbiorczym złożoność żądań HTML i AJAX związanych z nawigacją fasetową.
  2. Przegląd dowodów. W Back Office wyświetlane są przeanalizowane żądania, wartości mieszczące się w limicie, przekroczenia, rzeczywiste blokady, histogramy oraz okres statystyczny.
  3. Dostosuj limity. Można kontrolować filtry, wartości według faset oraz nieprawidłowe żądania w oparciu o rzeczywiste zachowanie katalogu, ustalając własne limity dla danej kategorii lub dla wszystkich kategorii na danym poziomie katalogu.
  4. Włączenie trybu „Ochrona” dopiero po jego zweryfikowaniu. Zmiana wymaga potwierdzenia i jest rozpatrywana oddzielnie dla każdego sklepu.

Co obejmuje

  • Tryb bezpiecznej obserwacji domyślnie oraz tryb wyraźnej ochrony.
  • Automatyczna rejestracja w Integrity API: bez konieczności konfigurowania kont ani kluczy.
  • Wczesna analiza złożoności żądań nawigacji z fasetami w formacie HTML i AJAX.
  • Limity konfigurowalne dla poszczególnych sklepów w odniesieniu do faset, wartości i kontekstu żądania.
  • Panel z agregatami minutowymi, histogramem złożoności i przetłumaczonymi przyczynami przekroczenia limitu.
  • Panel sugerowanych limitów: na podstawie ruchu zarejestrowanego w sekcji „Obserwacja” proponuje wartość dla każdego limitu, pokazuje, ile żądań blokują obecne limity, a ile zablokowałaby sugerowana wartość, oraz wyjaśnia główną przyczynę w przystępny sposób, na przykład który filtr z której kategorii powoduje największą część przekroczeń. Za pomocą przycisku można zastosować cztery sugerowane limity do wybranego sklepu bez zmiany trybu.
  • Rzetelne sugestie: sugestia nigdy nie jest bardziej restrykcyjna niż domyślny limit ani nie wykracza poza zatwierdzoną politykę Integrity. Jeśli kilka kategorii skupia wnioski przekraczające limit, zalecenie jest obliczane na podstawie pozostałych kategorii, nie łagodzi tego limitu, a panel wyjaśnia, jaka część nadwyżki pochodzi z poszczególnych kategorii.
  • Statystyki z konfigurowalnym okresem przechowywania (domyślnie 90 dni, w zakresie od 30 do 365): zapisy z każdej minuty są grupowane według godzin, a te, których okres przechowywania upłynął, są usuwane partiami w tle – nigdy w trakcie wyświetlania strony klientowi.
  • Funkcja diagnostyki botów zachowuje najnowsze próbki (domyślnie 500, z możliwością konfiguracji w zakresie od 50 do 5000) i usuwa najstarsze z nich, zamiast zaprzestać rejestrowania.
  • Panel pamięci podręcznej faset, który rozróżnia tabele pamięci podręcznej od tabel indeksów, pokazuje zmiany wielkości w ostatnich dniach wraz z ostrzeżeniem w przypadku szybkiego wzrostu oraz zawiera link do natywnej konfiguracji na stronie ps_facetedsearch, gdzie znajdują się narzędzia do odbudowy indeksów i opróżniania pamięci podręcznej. Facet Shield jedynie odczytuje te tabele i nigdy ich nie modyfikuje ani nie usuwa.
  • Panel działa znacznie szybciej w sklepach o dużym natężeniu ruchu: oblicza statystyki, trendy i sugerowane limity na podstawie dwóch odczytów, a wynik przechowuje przez dziesięć minut w pliku pamięci podręcznej, który można bezpiecznie usunąć.
  • 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.
  • Limity według kategorii i poziomu katalogu: jedna kategoria lub wszystkie kategorie na danym poziomie mogą mieć własne limity (rozmiar zapytania, fasety, wartości łączne oraz wartości w ramach jednej fasety); pusty limit stosuje limit z następnego poziomu, a limity globalne pozostają podstawą. Podpisana polityka Integrity ogranicza również limity na poziomie kategorii.
  • Sugerowane limity według kategorii: panel zawiera listę kategorii wymagających innego limitu, wraz z informacją, przy ilu żądaniach nastąpiłoby obecnie zablokowanie oraz z odpowiednią sugestią, a także umożliwia zastosowanie kategorii jednym kliknięciem. Kategoria wskazująca na automatyczne przeszukiwanie nigdy nie jest rozluźniana.
  • Ochrona pilotażowa według kategorii: gdy sklep znajduje się w trybie Obserwacji, można ustawić, aby blokowane były wyłącznie wybrane kategorie, podczas gdy pozostałe pozostają w trybie Obserwacji. Wymaga to podpisanej, ważnej polityki Integrity oraz wyraźnego potwierdzenia dla każdej kategorii, a wyłączenie tej funkcji wymaga zaledwie jednego kliknięcia.
  • Limit żądań na adres (opcjonalnie): zlicza żądania z filtrowaniem według kryteriów na minutę i adres (domyślnie 30 na minutę, w zakresie od 5 do 600). W przypadku przekroczenia limitu, w trybie „Ochrona” adres jest tymczasowo blokowany (domyślnie na godzinę, maksymalnie do 24 godzin) z kodem HTTP 429 i parametrem Retry-After; w trybie „Obserwacja” adres jest jedynie zliczany. Nie są zapisywane żadne adresy IP, a jedynie kluczowany skrót, który jest usuwany wkrótce po zakończeniu blokady, dlatego nie istnieje żadna stała czarna lista. Adresy i zakresy z Państwa listy dozwolonych adresów nigdy nie są uwzględniane w zliczaniu, a awaria bazy danych nigdy nie powoduje zablokowania klienta.
  • Zweryfikowane roboty indeksujące: w sekcji „Ochrona” robot Googlebot lub Bingbot, którego odwrotny i bezpośredni adres DNS pokrywają się z oficjalnymi serwerami, otrzymuje uproszczoną odpowiedź zawierającą atrybut „noindex” oraz kanoniczny adres URL kategorii zamiast kodu błędu 403, dzięki czemu adres URL filtru jest usuwany z indeksu bez wykonywania zapytania SQL dotyczącego faset. Zapytanie kierowane jest wyłącznie do podmiotów, które deklarują się jako jedna z tych wyszukiwarek.
  • Oznaki fałszywych alarmów: żądania przekraczające limity są również uwzględniane, jeśli pochodzą od klienta z otwartą sesją, zweryfikowanej wyszukiwarki lub w postaci szybkiej serii dziesięciu lub więcej żądań na minutę, a statystyki przedstawiają te trzy wartości wraz z ich proporcjami.
  • Powiadomienia e-mailowe (opcjonalne), z wykorzystaniem ustawień poczty sklepu: szybki wzrost rozmiaru pamięci podręcznej (maksymalnie raz dziennie), szczyty liczby zablokowanych żądań (maksymalnie co sześć godzin) oraz cotygodniowe podsumowanie dla maksymalnie pięciu wybranych przez Państwa odbiorców, wraz z przyciskiem wysyłania wiadomości testowej. W tekście nie ma plików PDF ani linków, a wiadomości są wysyłane w ramach konserwacji w tle, nigdy podczas wyświetlania strony klientowi.
  • Automatyczne czyszczenie pamięci podręcznej (opcjonalnie): gdy pamięć podręczna wyszukiwania fasetowego przekroczy wybrany przez Państwa rozmiar, moduł Facet Shield wysyła do modułu ps_facetedsearch żądanie wyczyszczenia jego własnej pamięci podręcznej przy użyciu metody oferowanej przez ten moduł, maksymalnie raz dziennie, a następnie odnotowuje to w dzienniku pomocy technicznej. Jeśli zainstalowana wersja nie posiada tej metody, nic nie zostanie zmienione.
  • Ostrzeżenie dotyczące podatnych na ataki wersji modułu ps_facetedsearch (od wersji 3.0.0 do 4.0.3, CVE-2026-54159, usunięte w wersji 4.0.4), wynikające z niewielkiej tabeli zawartej w module, bez konieczności pobierania jakichkolwiek plików.
  • Panel z zakładkami (Podsumowanie, Limity i kategorie, Ruch i boty, Statystyki, Pamięć podręczna i konserwacja oraz Konfiguracja, a także zakładka Pomoc techniczna, zawsze jako ostatnia): uwzględniana jest wyłącznie otwarta zakładka, a sekcja „Podsumowanie” wyświetla tryb działania, dane z ostatnich 24 godzin, jedną główną akcję oraz maksymalnie jedną linię ostrzeżenia.
  • Chroniony reset statystyk dla poszczególnych sklepów.
  • Zakładka „Limity i kategorie” uporządkowana w formie kart: limity globalne, wpływ sugestii z przyciskami o standardowym rozmiarze oraz tabela reguł według kategorii z formularzem umożliwiającym dodanie kolejnej. Zakładka „Pamięć podręczna” wykorzystuje zwijane bloki i pojedynczy wiersz statystyk.
  • E-maile z powiadomieniami z logo Państwa sklepu w nagłówku oraz, w stopce, logo GO ON Agency wraz z podpisem „PrestaWard by GO ON Agency”.
  • 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.
  • Zrozumiałe odpowiedzi o zablokowanym dostępie (HTTP 403 lub HTTP 429 z parametrem Retry-After w ramach limitu na adres), bez ujawniania wewnętrznych szczegółów polityki.
  • Wykluczenie określonych kategorii z analizy złożoności, wraz z zmianami podlegającymi audytowi.
  • Powiadomienie w panelu, gdy szacowana wielkość pamięci podręcznej wyszukiwania fasetowego osiągnie ustalony przez Państwa rozmiar.
  • Panel pomocy technicznej GO ON Agency z raportem diagnostycznym do pobrania. Raport pobiera pracownik posiadający uprawnienia do edycji po wybraniu konkretnego sklepu. Zawiera on wyłącznie informacje o wersjach, stanach i licznikach; nie zawiera adresów URL żądań, adresów IP ani danych uwierzytelniających i nie jest wysyłany automatycznie.
  • Połączenie z PrestaWard Integrity, którego podpisana polityka może jedynie zaostrzyć limity, nigdy ich nie złagodzić. Na ekranie modułu przycisk „Synchronizuj” aktualizuje połączenie.
  • Panel i tłumaczenia na dziewięć języków.

Sprawdzane ograniczenia

Zanim PrestaShop utworzy zapytanie dotyczące produktów, Facet Shield analizuje parametry filtrów wyszukiwania fasetowego. Początkowe limity wynoszą 256 bajtów dla filtra, 8 faset, łącznie 16 wartości oraz 6 wartości na fasetę; moduł odrzuca żądania zawierające nieprawidłowo sformułowane filtry. Limity te można zmieniać dla każdego sklepu, a ponadto ustalać własne limity dla jednej kategorii lub dla wszystkich kategorii na danym poziomie katalogu. Żądanie przekraczające którykolwiek z tych limitów uznaje się za nadmierne.

Wymagania

  • PrestaShop od wersji 1.7.7 do 9 oraz wersja PHP wymagana przez daną wersję PrestaShop (PHP 7.1 lub nowsza w przypadku PrestaShop 1.7).
  • Sklep korzystający z wyszukiwania fasetowego PrestaShop: moduł analizuje parametr filtrów (q) na stronach kategorii i wyszukiwania.
  • Aby aktywować Ochronę, sklep musi zarejestrować co najmniej jedno zapytanie z wykorzystaniem faset w trybie Obserwacji.
  • Powiadomienia e-mailowe wykorzystują ustawienia poczty sklepu.
  • Limity, tryb działania i statystyki są specyficzne dla każdego sklepu. Aby pobrać raport pomocy technicznej lub zmienić diagnostykę botów, proszę wybrać konkretny sklep.

Polityka prywatności i zakres

Domyślnie moduł Facet Shield przechowuje wyłącznie zagregowane wskaźniki złożoności. W przypadku włączenia funkcji diagnostyki botów, która jest domyślnie wyłączona, moduł zachowuje ograniczoną próbkę żądań przekraczających limity: do 512 znaków z filtra fasetowego, przyczynę, typ strony, kategorię, agenta użytkownika (do 255 znaków), licznik oraz daty. Nigdy nie zapisuje adresów IP, plików cookie ani pełnych adresów URL. W przypadku włączenia limitu na adres zapisywany jest jedynie klucz hashowy adresu, który jest automatycznie usuwany wkrótce po zakończeniu blokady. Najstarsze próbki są automatycznie usuwane po przekroczeniu ustawionego limitu (domyślnie 500); administrator może je usunąć z poziomu modułu, a także można je wyeksportować.

Zakres działania modułu obejmuje nawigację z fasetami w kategoriach oraz wyszukiwanie, zarówno w przypadku zwykłych żądań, jak i żądań AJAX. Moduł nie analizuje żądań bez filtrów, ani zawartości koszyka, zamówienia, formularzy, danych klientów ani dostępu administracyjnego; do tego celu wymagane są specjalne mechanizmy kontrolne.

Czego nie robi

  • Nie jest to zapora aplikacji internetowych (WAF): stanowi to dodatkową ochronę ograniczoną do filtrów wyszukiwania fasetowego.
  • Moduł ten nie zastępuje ani nie koryguje modułu ps_facetedsearch i nie zmienia jego indeksów. Nie czyści pamięci podręcznej samodzielnie: jedynie w przypadku włączenia automatycznego czyszczenia moduł ten prosi wspomniany moduł o opróżnienie własnej pamięci podręcznej przy użyciu oferowanej przez niego metody, maksymalnie raz dziennie, i nigdy nie usuwa jego tabel. Należy dbać o aktualizację zarówno PrestaShop, jak i tego modułu.
  • W trybie Obserwacji moduł nie blokuje niczego, z wyjątkiem kategorii, które zostały wyraźnie umieszczone w trybie „Ochrona pilotażowa”, i to wyłącznie w okresie obowiązywania podpisanej polityki Integrity. W przypadku wygaśnięcia polityki moduł powraca do trybu Obserwacji do czasu jej odnowienia.
  • Nie prowadzi stałych czarnych list adresów: blokada limitu na adres ma charakter tymczasowy i znika samoczynnie.
  • Nie wykonuje żadnej czynności, jeśli żądanie nie zawiera filtrów.
  • 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.

Zgodność i walidacja

Moduł deklaruje zgodność z PrestaShop w wersjach od 1.7.7 do 9. Wersja 0.1.16 przeszła testy laboratoryjne w PrestaShop 1.7, 8 i 9 w dniu 15 października 2026 r., zarówno w przypadku czystej instalacji, jak i aktualizacji z wersji 0.1.15. Przed aktywacją modułu prosimy o sprawdzenie poprawności instalacji, standardowych filtrów, funkcji „Obserwacja”, „Ochrona”, aktualizacji oraz deinstalacji w Państwa konkretnej konfiguracji obejmującej PrestaShop, PHP, motyw i moduły.

Bezpieczne użytkowanie

Nie należy włączać trybu „Ochrona” podczas instalacji. Proszę pozostawić moduł w trybie „Obserwacja”, przeglądać typowe kategorie i filtry, sprawdzać statystyki oraz ustalać limity, które nie będą miały wpływu na legalnych klientów. Jeśli któryś z limitów blokuje rzeczywistą nawigację, proszę powrócić do trybu „Obserwacja”, skorygować próg i ponownie przeprowadzić walidację.

Konieczna aktualizacja zabezpieczeń

Facet Shield zapewnia specjalną ochronę przed pełnymi sygnaturami serializacji PHP w zapytaniach dotyczących faset, nawet jeśli dana kategoria została wykluczona. Nie zastępuje to oficjalnej poprawki: aby usunąć znaną lukę w module faset, należy zaktualizować ps_facetedsearch do wersji 4.0.4 lub nowszej. Panel powiadomi Państwa w przypadku wykrycia podatnej wersji (od 3.0.0 do 4.0.3, CVE-2026-54159).

Licencja

PrestaWard Facet Shield jest dystrybuowany na licencji Academic Free License 3.0 (AFL-3.0). Można z niego korzystać, analizować go, modyfikować i rozpowszechniać zgodnie z warunkami tej licencji. Pakiet modułu zawiera pełną treść licencji.

Historia wersji

Ta lista zmian podsumowuje, wersja po wersji, wpływ aktualizacji na sklepy i zespoły e-commerce.

0.1.16

  • Nowość: limity według kategorii i poziomu katalogu. Pojedyncza kategoria lub wszystkie kategorie na danym poziomie mogą posiadać własne ograniczenia (rozmiar zapytania, fasety, wartości całkowite oraz wartości w ramach danej fasety); puste ograniczenie stosuje ograniczenia poziomu następnego, a podstawą pozostają ograniczenia globalne. Podpisana polityka Integrity ogranicza również ograniczenia na poziomie kategorii.
  • Nowość: sugerowane limity według kategorii. Panel wyświetla listę kategorii wymagających innego limitu, wskazując liczbę żądań, przy której nastąpiłoby obecnie zablokowanie, oraz proponowaną wartość, a także umożliwia zastosowanie limitu do danej kategorii jednym kliknięciem. Należy stosować się do sprawdzonej zasady dotyczącej sugestii ogólnych: limitu dla kategorii, która wydaje się być związana z automatycznym przeszukiwaniem, nigdy nie należy zmniejszać.
  • Nowość: Ochrona pilotażowa według kategorii. Gdy sklep znajduje się w trybie Obserwacji, wybrane przez Państwa kategorie mogą zostać zablokowane, podczas gdy pozostałe pozostają w trybie Obserwacji. Wymagana jest ważna, podpisana polityka Integrity (bez niej funkcja Facet Shield działa wyłącznie w trybie Obserwacji, tak jak dotychczas) oraz wyraźne potwierdzenie dla każdej kategorii; wyłączenie trybu pilotażowego wymaga jednego kliknięcia.
  • Nowość: limit żądań na adres, opcjonalny. Zlicza żądania z fasetami według kryteriów na minutę i adres (domyślnie 30 na minutę, w zakresie od 5 do 600); po przekroczeniu limitu, w trybie „Ochrona” adres zostanie tymczasowo zablokowany (domyślnie na godzinę, maksymalnie do 24 godzin) z kodem HTTP 429 i parametrem Retry-After, natomiast w trybie „Obserwacja” będzie jedynie zliczany. Nie zapisuje się żadnych adresów IP: zapisywany jest jedynie kluczowany skrót, który jest usuwany wkrótce po zakończeniu blokady, dzięki czemu nie powstaje stała czarna lista. Adresem jest ten, który rozpoznaje PrestaShop (z wykorzystaniem zaufanych serwerów proxy); adresy i zakresy z Państwa listy dozwolonych nigdy nie są uwzględniane, a problem z bazą danych nigdy nie powoduje zablokowania klienta.
  • Nowość: zweryfikowane wyszukiwarki. W sekcji „Ochrona” robot Googlebot lub Bingbot, którego odwrotny i bezpośredni adres DNS pokrywają się z oficjalnymi serwerami, otrzymuje uproszczoną odpowiedź zawierającą atrybut „noindex” oraz kanoniczny adres URL kategorii zamiast kodu błędu 403, dzięki czemu adres URL filtru jest usuwany z indeksu, a zapytania SQL dotyczące faset nie są wykonywane. Zapytania kierowane są wyłącznie do podmiotów podających się za te wyszukiwarki; wynik jest zapisywany w pamięci podręcznej (na 24 godziny, jeśli jest prawidłowy, lub na godzinę, jeśli nie) oraz liczba zapytań jest ograniczona na minutę dla całego sklepu.
  • Oznaki fałszywych alarmów: żądania przekraczające limity są również uwzględniane, jeśli pochodzą od klienta z otwartą sesją, zweryfikowanego wyszukiwarki lub w przypadku szybkiej serii dziesięciu lub więcej żądań na minutę, a statystyki przedstawiają te trzy wartości wraz z ich proporcjami. Seria żądań jest mierzona w czasie, gdy limit na adres jest aktywny.
  • Nowość: opcjonalne powiadomienia e-mailowe, wykorzystujące ustawienia poczty sklepu: szybki wzrost rozmiaru pamięci podręcznej (maksymalnie raz dziennie), szczyty zablokowanych żądań (maksymalnie co sześć godzin) oraz osobne podsumowanie tygodniowe, dla maksymalnie pięciu wybranych przez Państwa odbiorców oraz z przyciskiem wysyłania wiadomości testowej. Bez plików PDF ani linków w treści. Wiadomości są wysyłane w ramach konserwacji w tle, nigdy podczas wyświetlania strony klientowi.
  • Nowość: opcjonalne automatyczne czyszczenie pamięci podręcznej. Gdy pamięć podręczna wyszukiwania z fasetami przekroczy wybrany przez Państwa rozmiar, moduł Facet Shield zwraca się do modułu ps_facetedsearch z prośbą o wyczyszczenie własnej pamięci podręcznej przy użyciu metody oferowanej przez ten moduł, maksymalnie raz dziennie, i odnotowuje to w dzienniku pomocy technicznej. Jeśli zainstalowana wersja nie posiada tej metody, nic nie zostanie zmienione. Facet Shield nadal nigdy nie usuwa tabel należących do innego modułu.
  • Ostrzeżenie dotyczące podatnych na ataki wersji ps_facetedsearch, na podstawie niewielkiej tabeli zawartej w module (nie następuje pobieranie żadnych plików): wersje od 3.0.0 do 4.0.3 są narażone na lukę CVE-2026-54159, która została usunięta w wersji 4.0.4, a panel zaleca aktualizację.
  • Panel jest podzielony na zakładki (Podsumowanie, Limity i kategorie, Ruch i boty, Statystyki, Pamięć podręczna i konserwacja oraz Konfiguracja). Zakładka Podsumowanie wyświetla jedynie tryb pracy, dane z ostatnich 24 godzin, jedną główną akcję oraz maksymalnie jedną linię ostrzegawczą; obliczane są wyłącznie dane dotyczące aktualnie otwartej zakładki. 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. W nagłówku widnieje obecnie logo GO ON Agency.
  • Zakładka „Limity i kategorie” jest uporządkowana w postaci kart: limity globalne, wpływ sugestii z przyciskami o standardowej wielkości oraz tabela reguł według kategorii z formularzem umożliwiającym dodanie kolejnej. Zakładka „Pamięć podręczna” wykorzystuje zwijane bloki i pojedynczy wiersz statystyk.
  • Wiadomości z powiadomieniami 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 linków ani danych kontaktowych. Logo w stopce jest plikiem pochodzącym z samego modułu, udostępnianym z Państwa sklepó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.
  • 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 błąd polegający na tym, że w PrestaShop 9 formularze akcji panelu oraz synchronizacja z Integrity sprawdzały token bezpieczeństwa za pomocą metody, której PrestaShop 9 nie stosuje, co mogło powodować odrzucenie żądania. 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.
  • Naprawia problem, w wyniku którego połączenie z Integrity ulegało pogorszeniu w kontekście „wszystkie sklepy”: 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.
  • Naprawia problem, w wyniku którego tabela w zakładce „Pamięć podręczna” przesuwała się o kilka pikseli w bok na ekranach komputerów stacjonarnych: kontener zajmuje teraz przestrzeń między jej marginesami.
  • Wszystkie nowe teksty są dostępne w dziewięciu językach modułu. Aktualizacja dodaje niewielką tabelę oraz trzy liczniki do statystyk żądań i sama w sobie nie aktywuje żadnych funkcji; umowa z Integrity API pozostaje bez zmian, a ważna, podpisana polityka nadal może jedynie zaostrzyć limity.

0.1.15

  • Statystyki żądań nie rosną już w nieskończoność: co godzinę zapisy minutowe obejmujące okres dłuższy niż jedna godzina są grupowane w jeden zapis godzinowy bez zmiany sum ani wykresów, a dane starsze niż nowy okres „Przechowywanie statystyk (dni)” (domyślnie 90, w zakresie od 30 do 365) są usuwane w małych partiach w tle, nigdy podczas wyświetlania strony klientowi.
  • Funkcja diagnostyki botów nie zaprzestaje gromadzenia próbek po osiągnięciu liczby 500: zachowuje najnowsze i usuwa najstarsze. Kontroluje to ustawienie „Liczba próbek diagnostycznych do zachowania” (domyślnie 500, w zakresie od 50 do 5000).
  • Nowy panel „Sugerowane limity”: na podstawie ruchu zarejestrowanego w trybie Obserwacji proponuje wartość dla każdego limitu (rozmiar zapytania, fasety, wartości całkowite oraz wartości w ramach jednej fasety), pokazuje, ile żądań jest blokowanych przez obecne limity, a ile zablokowałaby proponowana wartość, a także wyjaśnia główną przyczynę, na przykład który filtr z której kategorii powoduje największe przekroczenie. Przycisk pozwala zastosować cztery sugerowane limity do wybranego sklepu bez zmiany trybu.
  • Sugestie nigdy nie są bardziej rygorystyczne niż domyślny limit, nigdy nie łagodzą limitu i są zgodne z podpisaną polityką Integrity, gdy ta jest bardziej rygorystyczna. Jeśli kilka kategorii skupia żądania przekraczające limit, sugestia jest obliczana na podstawie pozostałych; panel wskazuje, jaka część nadwyżki pochodzi z ilu kategorii, a limit ten nie ulega zmianie po zastosowaniu sugestii.
  • Panel pamięci podręcznej wyszukiwania fasetowego rozróżnia tabele pamięci podręcznej od tabel indeksów, pokazuje zmiany ich rozmiaru w ostatnich dniach wraz z ostrzeżeniem w przypadku gwałtownego wzrostu, wskazuje sklepy, w których ps_facetedsearch brakuje lub jest wyłączony, oraz zawiera link do jego natywnej konfiguracji. Facet Shield jedynie odczytuje te tabele: nigdy ich nie modyfikuje ani nie usuwa.
  • Panel działa znacznie szybciej w sklepach o dużym natężeniu ruchu: przy ponad pół miliona wpisów czas ładowania skraca się z około 20 sekund do zaledwie kilku, a w przypadku ponownego otwarcia w ciągu mniej niż dziesięciu minut – do ułamka sekundy. Wyświetlane dane pozostają niezmienione.
  • Wszystkie nowe teksty są dostępne w dziewięciu językach modułu.
  • 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.1.14

  • 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ę wraz z jej limitami w przypadku niepowodzenia odnowienia.
  • Podpisana polityka Integrity może jedynie zaostrzyć limity skonfigurowane w sklepie, nigdy ich nie złagodzić: w przypadku rozmiaru, liczby faset, wartości oraz wartości na fasetę obowiązuje mniejsza z dwóch wartości – limit ustawiony przez Państwa lub limit określony w polityce, natomiast tryb (Obserwacja lub Ochrona) wybierają Państwo samodzielnie.
  • 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.
  • Deklaruje zgodność z PrestaShop 1.7.7.0, najstarszą przetestowaną wersją.

0.1.13

  • Poprawia proces rejestracji oraz zadania w Back Office w PrestaShop 9.
  • Akceptuje oba prawidłowe formaty testowych adresów URL z weryfikacją własności przy ścisłej walidacji.
  • Ulepsza diagnostykę i ponowne próby rejestracji w Integrity.

0.1.12

  • Deinstalacja usuwa również tabelę wykluczeń według kategorii oraz wszystkie klucze konfiguracyjne Integrity (faza instalacji, test rejestracji, zapieczętowane dane uwierzytelniające i klucze), nie pozostawiając żadnych śladów.
  • Dodaje brakujące pliki ochronne index.php oraz sprawdzanie bezpośredniego dostępu za pomocą _PS_VERSION_ w kontrolerze Back Office oraz w trzech ostatnich skryptach aktualizacyjnych, podobnie jak w pozostałych punktach wejścia modułu.
  • Wprowadza system wspólnego projektowania PrestaWard: panel Back Office wykorzystuje wspólny ciemny nagłówek, ujednolicony wskaźnik stanu („Wyłączony”/„Obserwuje”/„Chroni”) oraz panel „Monitorowanie GO ON”, obsługiwane przez jeden wspólny arkusz stylów przechowywany lokalnie.

0.1.11 — aktualizacja zabezpieczeń

  • Wyłączenia według kategorii ograniczają jedynie standardową analizę złożoności: pełne sygnatury serializacji PHP są nadal analizowane, rejestrowane i blokowane w trybie Ochrona.
  • Zgodnie z dokumentacją do usunięcia luki CVE-2026-54159 wymagana jest wersja ps_facetedsearch 4.0.4 lub nowsza; moduł Facet Shield pozostaje środkiem zabezpieczającym w ramach kompleksowej strategii ochrony, a nie substytutem oficjalnej poprawki.

0.1.10

  • Lokalny symulator adresów URL lub q, dzienne trendy oparte na istniejących danych zbiorczych oraz ograniczone eksporty w formacie CSV.
  • Wykluczenia podlegające audytowi według kategorii, z obowiązkowym uzasadnieniem i logicznym usunięciem; nie wyklucza się adresów IP ani identyfikatorów user-agent.
  • Pierwsze włączenie trybu „Ochrona” wymaga własnych danych z trybu „Obserwacja” i oblicza ostrożną ocenę wpływu na proponowaną politykę; w przypadku braku zaobserwowanych żądań nie zezwala na aktywację blokady.
  • Wszystkie katalogi produkcyjne pakietu zawierają plik index.php, który kończy działanie programu, w tym plik views/js.
  • W niniejszym przewodniku opisano, jak ponownie zarejestrować Integrity dla poszczególnych sklepów po rotacji _COOKIE_KEY_, bez odzyskiwania ani udostępniania poprzedniego klucza.
  • Dodatkowa ochrona przed pełnymi nagłówkami serializacji PHP w zapytaniach dotyczących faset, bez blokowania standardowych wartości zawierających tekst, takich jak O:.
  • Powiadomienie konfigurowane dla każdego sklepu, gdy szacowana wielkość pamięci podręcznej wyszukiwania z fasetami przekroczy zdefiniowany próg; moduł nie usuwa ani nie aktualizuje niczego automatycznie.
  • Ponowne próby i heartbeaty Integrity nie są już wykonywane w ramach synchronicznego renderowania żadnego ekranu Back Office: są planowane za pomocą uwierzytelnionego i ograniczonego żądania asynchronicznego.
  • Usuwa zapytanie o podsumowanie starszych zdarzeń bez usuwania danych historycznych i zachowuje istniejący panel aktualizacji jako jedyne powiadomienie o nowych wersjach.

0.1.9

  • Rejestracja korzysta obecnie z natywnego dispatchera modułów PrestaShop i nie jest już uzależniona od przyjaznych adresów URL, reguł .htaccess ani pamięci podręcznej tras.
  • Aktualizacja z poprzednich wersji naprawia w sposób idempotentny niezbędne haki bez usuwania zasad ani statystyk.
  • Po otwarciu pulpitu nawigacyjnego automatycznie sprawdzane jest, czy dostępna jest nowa wersja, przy czym stosowana jest pamięć podręczna o czasie trwania sześciu godzin i nie blokuje się Back Office, jeśli manifest nie odpowiada.
  • Proces zweryfikowany w PrestaShop 1.7, 8 i 9.

0.1.8

  • Ochrona ogranicza się do rzeczywistych kontrolerów kategorii i wyszukiwania, unikając blokowania parametrów q niezwiązanych z fasetami.
  • Zablokowane żądania typu HEAD zwracają wyłącznie nagłówki, bez treści.
  • Diagnostyka identyfikuje agenta jako zadeklarowanego i poprawnie wyjaśnia skrócony fragment identyfikatora user-agent, który jest zachowywany opcjonalnie.
  • Integrity jest prezentowane z minimalnym statusem połączenia i synchronizacji, bez szczegółów wewnętrznych, które mogłyby dezorientować użytkownika.
  • Zgodność funkcjonalna zweryfikowana w PrestaShop 1.7, 8 i 9.

0.1.7

  • Automatyczny heartbeat bez crona: ruch w sklepie uruchamia ograniczoną sondę lokalną, a serwer potwierdza obecność w Integrity API bez ujawniania danych uwierzytelniających przeglądarce.
  • Blokada atomowa dla każdego sklepu, sześciogodzinny interwał oraz piętnastominutowe oczekiwanie po wystąpieniu błędów w celu uniknięcia zduplikowanych wysyłek.
  • Ręczna synchronizacja Integrity powoduje również odświeżenie heartbeat.
  • Zgodność sprawdzona w PrestaShop 1.7, 8 i 9.

0.1.6

  • Uwierzytelniony heartbeat, automatyczne ponowne próby oraz szczegółowa diagnostyka połączenia z Integrity API.
  • Opcjonalna diagnostyka dostępna również w trybie „Obserwacja”, wraz z identyfikacją agenta, filtrami według botów i przyczyn, paginacją oraz ograniczoną próbką kombinacji faset.
  • Zarządzanie przechowywaniem danych przez administratora: liczba próbek, szacowana przestrzeń dyskowa oraz ręczne usuwanie danych z Back Office.
  • Wizualne i tylko do odczytu wskaźniki dotyczące rozmiaru, szacowanej liczby rekordów oraz tabel pamięci podręcznej faset.
  • Przeprojektowany interfejs: tryby i włączanie trybu „Ochrona” w sekcji „Co robi”, wydzielone sekcje oraz Integrity API przeniesione na koniec.
  • Bez adresów IP, plików cookie ani pełnych adresów URL; teksty dostępne w dziewięciu językach.
  • Instalacja, blokowanie, diagnostyka, pamięć podręczna, odinstalowanie i ponowna instalacja zweryfikowane w PrestaShop 1.7, 8 i 9.

0.1.5

  • Automatyczna i nieblokująca rejestracja w Integrity API przez test kontroli nad sklepem.
  • Instalacja nie wymaga posiadania kont, kluczy API ani ręcznej rejestracji.
  • Podpisane polityki zweryfikowane za pomocą kotwic zaufania zawarte w tej wersji.

0.1.4

  • Histogramy złożoności oraz zliczanie atomowe wszystkich przeanalizowanych żądań.
  • Ograniczenia wartości według faset, nieprawidłowo sformułowane żądania oraz ograniczony kontekst żądania.
  • Stan trybu „Obserwacja”, początek okresu statystycznego i chroniony reset dla każdego sklepu.
  • Przetłumaczone przyczyny i statystyki.

0.1.3

  • Wskaźniki dotyczących przeanalizowanych żądań, wartości mieszczących się w limicie, przekroczeń oraz rzeczywistych blokad.
  • Dodane według sklepu i minuty bez adresów IP, adresów URL, agenta użytkownika ani wybranych wartości.
  • Dostępny selektor trybu oraz powłoka wizualna PrestaWard dla komputerów stacjonarnych i urządzeń mobilnych.

0.1.2

  • Tożsamość instalacji i sklepu przygotowana dla Integrity API.
  • Podpisana polityka z ostatnim prawidłowym stanem dla każdego sklepu i bezpiecznym powrotem do trybu „Obserwacja”.
  • Stan połączenia i ręczna próba ponownego połączenia z poziomu Back Office, bez wywołań z poziomu Front Office.