Lista zmian — PrestaWard Facet Shield
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.