Moduł PrestaShop

PrestaWard Snapshot

Kontrola integralności dla sklepów PrestaShop. Tworzy linię bazową dla plików, porównuje zmiany i powiadamia pocztą elektroniczną w przypadku przeniesienia jakichkolwiek wrażliwych danych.

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

PrestaWard Snapshot
Linia bazowa + porównanie + alerty

  • Zadania z zapisanym postępem
  • Pliki wrażliwe pod kontrolą
  • PrestaShop 1.7, 8 i 9
  • Laboratorium wielowersyjne

Co robi

Sklep podlega ciągłym zmianom. PrestaWard Snapshot tworzy techniczny punkt odniesienia i wyświetla pliki dodane, zmodyfikowane lub usunięte, dzięki czemu można odróżnić planowaną zmianę od nieoczekiwanej modyfikacji.

Analizuje również podejrzany kod w nowych lub zmodyfikowanych plikach, przypisuje poziom ryzyka do każdej zmiany oraz grupuje aktualizacje modułów i szablonów, tak aby kwestie wymagające uwagi nie zginęły wśród rutynowych zmian.

Proszę również sprawdzić kod JavaScript aktywnego motywu oraz modułów płatności pod kątem oznak skimmerów kart, monitorować rozmiar folderów multimedialnych oraz zweryfikować 14 punktów konfiguracji zabezpieczeń. Panel z zakładkami, zawierający zwięzłe podsumowanie, w jednym wierszu wskazuje, co wymaga uwagi. Ma on dostęp tylko do odczytu do Państwa plików: nie modyfikuje ich, nie przywraca ani nie usuwa, a zapisuje dane wyłącznie we własnym obszarze roboczym oraz w swojej bazie danych.

Jak to działa

  • Moduł zapisuje skrót SHA-256 każdego pliku wraz z jego ścieżką względną, rozmiarem i datą modyfikacji. Nie zapisuje kopii plików ani ich zawartości.
  • Porównuje sklep z najnowszą linią bazową i klasyfikuje każdą zmianę jako rutynową, podejrzaną lub krytyczną. Pliki wykonywalne oraz pliki zawierające wrażliwe ustawienia są zawsze monitorowane.
  • Sprawdza moduły, bramki płatnicze, motywy, klasy rdzenia, panel administracyjny, ustawienia, override, src, vendor, upload, download, img, js oraz pliki w katalogu głównym. Tymczasowe foldery PrestaShop, takie jak img/tmp oraz pamięci podręczne zasobów motywów, nie są analizowane.
  • Wykluczenia definiuje się poprzez dokładną nazwę lub ścieżkę względną. Przed ich aktywacją wymagany jest podgląd, a wykluczone foldery są nadal monitorowane pod kątem obecności plików wykonywalnych.
  • Uruchamia porównanie z poziomu Back Office lub za pomocą zadania cron zabezpieczonego tokenem. W sklepach zawierających bardzo dużą liczbę plików zadanie może wymagać procesu wiersza poleceń bin/snapshot-worker.php, który administrator serwera uruchamia ręcznie: moduł nigdy nie uruchamia go samodzielnie.
  • Jeśli analiza zakończy się niepowodzeniem lub zostanie przerwana, zachowana zostanie ostatnia prawidłowa linia bazowa. Wyniki porównania są wyświetlane dopiero po całkowitym zakończeniu zadania.
  • Wysyła powiadomienie e-mailowe w przypadku wykrycia istotnych zmian. Odbiorców konfiguruje się w module, a domyślnie jest to adres e-mail sklepu. W nagłówku wiadomości e-mail pojawia się logo Państwa sklepu, a w stopce znajduje się logo GO ON Agency oraz podpis „PrestaWard by GO ON Agency”.
  • Zachowuje historię przez skonfigurowany okres (domyślnie 90 dni) i nie usuwa oczekujących przeglądów.
  • Panel podzielony jest na zakładki (Podsumowanie, Zmiany, Zadania, Sprawdzanie, Konfiguracja i Lista zmian) i uwzględnia wyłącznie tę, która jest aktualnie otwarta, dzięki czemu szybciej się ładuje w dużych sklepach. Ostatnia zakładka, „Pomoc techniczna”, zawiera panel pomocy technicznej GO ON Agency, a status Integrity znajduje się na samym końcu listy. W zakładce „Podsumowanie” wyświetlana jest linia bazowa, ostatnie porównanie, główna akcja (Utwórz migawkę, jeśli nie ma linii bazowej, oraz Porównaj teraz, jeśli istnieje) oraz maksymalnie jedna pozycja: bieżące zadanie lub najważniejszy alert, z dopiskiem „i N kolejnych”, jeśli występują inne.
  • Zakończone zadania są przechowywane przez 90 dni i można je przeglądać w zakładce „Zadania” w tabeli z filtrami według typu, statusu i dat. Każde zadanie posiada szczegółowy opis (chronologia, pliki, maksymalna pamięć, powiadomienia wraz z przykładowymi folderami oraz możliwość pobrania raportu diagnostycznego), a po wyczyszczeniu szczegółów dotyczących plików zachowywane jest podsumowanie przebiegu zadania.
  • Zadanie wymagające użycia wiersza poleceń jest podświetlone na kolor bursztynowy, a jego opis w języku potocznym oraz dokładne polecenie są opatrzone przyciskiem umożliwiającym ich skopiowanie. W przeglądarce nie ma przycisku wznowienia.

Wymagania

  • PrestaShop 1.7, 8 lub 9, w tym instalacje wielosklepowe, oraz wersja PHP wymagana przez daną wersję PrestaShop (PHP 7.1 lub nowsza w przypadku PrestaShop 1.7).
  • Tabele bazy danych z silnikiem InnoDB. Moduł sprawdza to i konwertuje własne tabele podczas aktualizacji.
  • Po instalacji dostęp ma wyłącznie profil administratora. Pozostałe profile są autoryzowane przy użyciu natywnych uprawnień PrestaShop do odczytu, tworzenia i modyfikacji.
  • Panel i komunikaty w dziewięciu językach.

Czego nie robi

  • Nie jest to kopia zapasowa i nie przywraca plików: wykrywa zmiany, ale ich nie odzyskuje. Stanowi uzupełnienie Państwa kopii zapasowych i systemu kontroli wersji, a nie ich zamiennik.
  • Nie jest to program antywirusowy ani skaner złośliwego oprogramowania. Wyszukuje typowe wzorce web shelli oraz zaciemnionego kodu w nowych lub zmodyfikowanych plikach PHP i JavaScript (każdy o rozmiarze do 512 KB) oraz zwraca szczególną uwagę na pliki wykonywalne, w tym te, które ukrywają kod PHP pod mylącym rozszerzeniem. Trafienie oznacza „należy sprawdzić ten plik”, a nie dowód ataku, a plik bez trafień nie jest uznawany za bezpieczny.
  • Sygnały wskazujące na skimmery kart w języku JavaScript mają charakter heurystyczny: wskazują powód do sprawdzenia pliku, nie stanowią dowodu na włamanie, a adres tworzony przez kod podczas wykonywania nie jest wykrywany. Adresy samych sklepów oraz bram płatniczych nie są traktowane jako inne strony internetowe.
  • Nie analizuje bazy danych.
  • Nie wysyła żadnych plików, ścieżek ani treści do żadnych usług zewnętrznych. Połączenie z PrestaWard Integrity przekazuje identyfikator instalacji i sklepu, domenę, skrót zainstalowanego pakietu oraz skrót zbiorczy każdej migawki, bez danych osobowych klientów.
  • Moduł ten nie zapobiega ani nie blokuje zmian w sklepie: powiadamia o nich dopiero po ich wystąpieniu.
  • 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.

Główne funkcje

  • Migawka modułów, bramek płatniczych, motywów, rdzenia, administracji i konfiguracji.
  • Analiza podejrzanego kodu w nowych lub zmodyfikowanych plikach PHP i JavaScript: wyszukiwanie wzorców charakterystycznych dla powłok internetowych oraz kodu zaciemnionego, a także wyjaśnienie wyników w języku potocznym. Plik, który przekracza limit rozmiaru, zostanie oznaczony jako sprawdzony tylko częściowo.
  • Wykrywanie zamaskowanych obrazów (z nieprawidłowym nagłówkiem lub zawierających kod PHP) we wszystkich folderach, w tym również w folderach wykluczonych, a także – w ramach dostępnego czasu i rozmiaru – w folderach tymczasowych, takich jak img/tmp.
  • Poziom ryzyka dla każdej zmiany (wysoki, wymaga przeglądu lub niski), widoczny i z możliwością filtrowania podczas przeglądu, uwzględniony w pliku CSV z audytu oraz w wiadomościach e-mail z powiadomieniami.
  • Aktualizacje modułów i szablonów są zgrupowane w jednym elemencie wraz z poprzednią i nową wersją, a zmiana kodu PHP w ramach wykrytej aktualizacji stanowi niskie ryzyko i nie powoduje wysyłania wiadomości ostrzegawczych.
  • Panel plików rdzenia: porównuje je z oficjalną listą sum kontrolnych dla Państwa wersji PrestaShop, w partiach z możliwością wznowienia. Pobierana jest wyłącznie oficjalna lista; żadne pliki nie są wysyłane. Różnica nie oznacza włamania, a jeśli lista jest niedostępna, panel wskazuje, że rdzeń nie został zweryfikowany.
  • Audyt konfiguracji zabezpieczeń z oceną w skali od 0 do 100 i 14 punktami kontrolnymi: tryb debugowania, folder administracyjny, uprawnienia konfiguracyjne, foldery instalacyjne, zrzuty pamięci i pliki skompresowane w katalogu głównym serwisu, wersja PHP, HTTPS, widoczne błędy PHP, wzmocnienie zabezpieczeń PHP (allow_url_include oraz expose_php), foldery kontroli wersji i pliki środowiskowe (.git, .svn, .hg, .env i ich warianty) w katalogu głównym serwisu oraz w modułach i motywach, klucze usług internetowych z uprawnieniami do zapisu w wielu zasobach, sprawdzanie adresu IP w pliku cookie oraz nieaktywne konta zachowujące profil SuperAdmin. W przypadku kluczy podaje się jedynie ich liczbę, bez odczytywania ani wyświetlania ich treści, a w przypadku kont – jedynie ich liczbę, bez podawania nazw ani adresów. Każdy punkt zawiera wyjaśnienie i rozwiązanie, a elementy, których nie można zweryfikować, są oznaczone jako „niezweryfikowane” i nie są punktowane.
  • Heurystyki dotyczące skimmerów kart w nowym lub zmodyfikowanym kodzie JavaScript aktywnego motywu oraz modułów płatności: kod odczytujący numer karty, datę ważności lub kod zabezpieczający i przesyłający te dane do innej witryny internetowej (wysokie ryzyko), dane przesyłane do innej witryny z kodu zamówienia lub płatności oraz silnie zaszyfrowany kod umieszczony obok kodu zamówienia lub płatności (oba wymagają przeglądu). Każde wykryte zdarzenie zostało wyjaśnione w zgłoszeniu zmian.
  • Raport dotyczący objętości multimediów: dla każdego folderu (img, upload, uploads i download) podaje liczbę plików i bajtów w każdej linii bazowej oraz porównawczej, bez konieczności uzyskiwania dostępu do dodatkowych plików ani zapisywania danych dla poszczególnych plików. W sekcji „Sprawdź” wyświetlana jest suma danych w każdym folderze oraz wzrost w stosunku do linii bazowej, a sekcja „Konfiguracja” umożliwia ustawienie maksymalnej liczby plików, maksymalnego rozmiaru w GB oraz maksymalnego wzrostu w procentach (domyślnie 50%; wartość 0 wyłącza limit). Przekroczenie limitu jest widoczne w sekcji „Podsumowanie” oraz w wiadomości e-mail z powiadomieniem.
  • Limit widocznego monitorowania: jeśli podczas analizy zostanie osiągnięty limit 250 000 odczytanych nazw w wykluczonych folderach, w sekcjach „Podsumowanie” i „Sprawdzenia” zostanie wskazana liczba folderów pozostających poza monitorowaniem, a objętość multimediów zostanie oznaczona jako częściowa.
  • Powiadomienie o zadaniu cron, które nigdy nie zostało wykonane, oraz własny komunikat ostrzegawczy dotyczący folderów i kopii zapasowych modułów znajdujących się w katalogu głównym serwisu.
  • Okno konserwacyjne trwające od 1 do 4 godzin: wycisza powiadomienia e-mailowe, ale nadal rejestruje zmiany, a po zamknięciu wysyła zbiorcze podsumowanie z opcjami „Zaakceptuj te zmiany” lub „Odrzuć”. Funkcja Snapshot nigdy samodzielnie nie tworzy linii bazowej.
  • Przegląd zmian przygotowany z myślą o bardzo dużych zbiorach wyników: paginacja okienkowa z możliwością przejścia do konkretnej strony, podsumowanie pogrupowane według folderów, statusu i poziomu ryzyka oraz kolejka oczekujących, w której każdy plik pojawia się raz na linii bazowej.
  • Szybkie tworzenie linii bazowej w dużych sklepach: publikacja odczytuje wyłącznie wiersze dotyczące własnego zadania, a dane tymczasowe z zakończonych zadań są usuwane partiami o ograniczonym zakresie, bez gromadzenia się.
  • Porównanie z poziomu Back Office lub zadania cron chronionego tokenem.
  • Powiadomienia e-mailowe zawierające podsumowanie, listę kategorii, których dotyczy problem, oraz link do panelu.
  • Panel z zakładkami zawierający: podsumowanie podstawowe, historię zadań z ostatnich 90 dni wraz z filtrami i szczegółami, zakres usług, ostatnie zmiany, rejestry aktywności oraz zakładkę „Pomoc techniczna” z diagnostyką, która zawsze znajduje się na końcu.
  • Wspólny pasek filtrów w przeglądzie zmian i historii zadań: selektory są rozmieszczone w siatce o równej szerokości, pole wyszukiwania i przycisk „Filtruj” znajdują się w tym samym wierszu, a działania dodatkowe, takie jak eksport audytu do pliku CSV, są wyrównane do prawej strony.
  • 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.
  • Wiadomości e-mail z nagłówkiem Państwa sklepu: logo sklepu u góry, a w stopce logo GO ON Agency wraz z podpisem „PrestaWard by GO ON Agency”. Temat wiadomości nie zawiera już nazwy sklepu.
  • Zadania związane z linią bazową i porównaniami, które są wznawiane od zapisanego postępu.
  • Konfigurowalne wykluczenia z podglądem oraz nowa, bezpieczna linia bazowa.
  • Obowiązkowy nadzór nad plikami wykonywalnymi i wrażliwymi ustawieniami, nawet w folderach wykluczonych.
  • Automatyczne połączenie z PrestaWard Integrity bez blokowania sklepu, z podpisanymi i powiązanymi w łańcuch potwierdzeniami zawierającymi skrót zbiorczy każdej migawki. Na ekranie modułu przycisk „Synchronizuj” aktualizuje połączenie.
  • Heartbeat i stan crona w celu wykrywania opóźnionych lub nieudanych uruchomień.
  • Skanowanie przyrostowe z obowiązkowym ponownym obliczaniem skrótów dla obszarów krytycznych oraz okresowe skanowanie pełne.
  • Sortowanie, filtry, paginacja, przegląd zmian oraz eksport zmian do pliku CSV.
  • Bezpieczne porównywanie metadanych, konfigurowalny okres przechowywania oraz zabezpieczone czyszczenie.
  • 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 wyłącznie wersje, stany i liczniki; nie zawiera ścieżek, treści plików ani danych uwierzytelniających i nie jest wysyłany automatycznie.

Zweryfikowana kompatybilność

Wersja 0.1.8 przeszła pomyślnie testy laboratoryjne w środowisku 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.7. Wersja 0.1.7 przeszła pomyślnie testy laboratoryjne 13 października 2026 r.; została przetestowana przy rzeczywistej liczbie 151 440 plików i wykorzystana jako wersja testowa w rzeczywistym sklepie produkcyjnym. Wersja 0.1.3 przeszła ponadto testy instalacji, deinstalacji, ponownej instalacji, dostępu uwierzytelnionego, testy wykluczeń w warunkach ataku oraz walidację kryptograficzną 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.

Bezpieczne użytkowanie

Proszę utworzyć linię bazową wyłącznie po sprawdzeniu i oczyszczeniu sklepu. Proszę porównywać stan po każdej interwencji i nie uznawać za normalne zmian, których jeszcze nie zidentyfikowano. Moduł ten stanowi uzupełnienie, ale nie zastępuje kopii zapasowych ani kontroli wersji.

Dziennik zmian

0.1.8

  • Panel podzielony jest na zakładki (Podsumowanie, Zmiany, Zadania, Sprawdzanie, Konfiguracja i Rejestry aktywności) i uwzględnia wyłącznie otwartą zakładkę, dzięki czemu szybciej się otwiera w dużych sklepach. Panel pomocy technicznej GO ON Agency posiada własną zakładkę „Pomoc techniczna”, która zawsze znajduje się jako ostatnia, a sekcja Integrity znajduje się na końcu wszystkich zakładek.
  • Minimalne podsumowanie: aktualna linia bazowa, ostatnie porównanie i jego wynik, główne zadanie oraz maksymalnie jeden wiersz dotyczący bieżących zadań lub najważniejszego ostrzeżenia (zmiany oczekujące na weryfikację, nowe lub nieobjęte foldery wymagające nowej linii bazowej, okno konserwacyjne, które należy zamknąć, zadanie cron, które nigdy nie zostało wykonane lub jest opóźnione, kopie zapasowe w katalogu głównym serwisu). Jeśli występuje więcej alertów, w wierszu należy dodać „i N kolejnych”.
  • Zakładka „Zadania”: bieżące zadanie przedstawione jest w formie karty zawierającej jego etapy (wykrywanie, obliczanie odcisków, weryfikacja, porównanie lub publikacja, potwierdzenie), licznik plików, upływający czas, datę ostatniej aktualizacji oraz informację o tym, kto je wykonuje (Back Office, cron lub wiersz poleceń). Zadanie wymagające przetworzenia za pomocą wiersza poleceń jest wyświetlane na żółto, z opisem w języku potocznym oraz dokładnym poleceniem wraz z przyciskiem umożliwiającym jego skopiowanie; w przeglądarce nie ma przycisku wznowienia.
  • 90-dniowa historia zadań w jednej tabeli (typ, źródło, pracownik, data rozpoczęcia, czas trwania, status, wynik i powiadomienia) z filtrami według typu, statusu i dat oraz paginacją, zamiast dotychczasowego ograniczenia do 20 ostatnich zadań lub 7 dni. Wynik porównania zawiera link do wykrytych zmian, a wynik sprawdzenia plików jądra zawiera link do zakładki „Sprawdzenia”.
  • Szczegóły każdego zadania: chronologia, pliki, maksymalna pamięć, skrót polityki, linki do linii bazowej i porównania, powiadomienia z folderami przykładowymi, przetłumaczony komunikat o błędzie w przypadku niepowodzenia oraz plik diagnostyczny do pobrania. Po usunięciu szczegółów dotyczących plików z zakończonego zadania zachowywane jest podsumowanie (liczba alertów wraz z folderami przykładowymi oraz folderami nieobjętymi w całości), a strona wskazuje, że szczegóły zostały usunięte.
  • Opis zakresu zmian w poszczególnych kategoriach został przeniesiony na koniec sekcji „Zmiany”; sprawdzanie stanu sklepu (kopie zapasowe, pliki rdzenia, audyt konfiguracji oraz stan modułów) zostało zebrane w sekcji „Sprawdzanie”; natomiast ustawienia poczty, cronu, polityki analizy, okna konserwacyjnego oraz pamięci masowej znajdują się w sekcji „Konfiguracja”.
  • Audyt konfiguracji zabezpieczeń obejmuje obecnie 14 punktów kontrolnych. Nowe: wzmocnienie zabezpieczeń PHP (allow_url_include oraz expose_php), foldery kontroli wersji i pliki środowiskowe (.git, .svn, .hg, .env oraz ich warianty) w katalogu głównym serwisu oraz w modułach i motywach, klucze usług internetowych z uprawnieniami zapisu do wielu zasobów (liczy się jedynie ich liczbę; klucze nigdy nie są odczytywane ani wyświetlane), sprawdzanie adresu IP w pliku cookie oraz nieaktywnych kont zachowujących uprawnienia SuperAdmin (są one jedynie zliczane, bez podawania nazwisk ani adresów). Każda z tych pozycji zawiera wyjaśnienie i rozwiązanie, a elementy, których nie można odczytać, są oznaczone jako „niezweryfikowane”. Pliki .git, .svn i .env w katalogu głównym serwisu są przenoszone z weryfikacji plików instalacyjnych i kopii do nowej weryfikacji, aby uniknąć podwójnego zliczania.
  • Heurystyki wykrywania skimmerów kart w JavaScript: nowy lub zmodyfikowany kod JavaScript aktywnego motywu oraz modułów płatności jest również sprawdzany pod kątem trzech sygnałów: kodu odczytującego numer karty, datę ważności lub kod zabezpieczający i wysyłającego dane do innej witryny internetowej (wysokie ryzyko), dane wysyłane do innej witryny z kodu zamówienia lub płatności (wymaga przeglądu) oraz silnie zaszyfrowany kod znajdujący się obok kodu zamówienia lub płatności (wymaga przeglądu). Adresy samego sklepu, bramki płatnicze oraz – w przypadku słabszych sygnałów – znane serwery analityczne nie są traktowane jako inne witryny. Zbieżność adresów stanowi powód do zbadania pliku, a nie dowód włamania, a adres generowany przez kod podczas jego wykonywania nie jest wykrywany.
  • Budżet objętości multimediów: dla każdej linii bazowej i porównania zlicza się, dla każdego folderu multimedialnego (img, upload, uploads i download), pliki oraz bajty, które zostały już przetworzone, bez uzyskiwania dostępu do kolejnych plików ani zapisywania danych dla poszczególnych plików. W sekcji „Sprawdzenia” wyświetlana jest suma danych w poszczególnych folderach, wzrost w stosunku do linii bazowej oraz informacja o ewentualnym przekroczeniu limitu. W sekcji „Konfiguracja” dostępne są trzy limity: maksymalna liczba plików, maksymalny rozmiar w GB oraz maksymalny wzrost w stosunku do linii bazowej wyrażony w procentach (domyślnie 50%; wartość 0 wyłącza limit). Przekroczenie limitu jest widoczne w podsumowaniu oraz w wiadomości e-mail z powiadomieniem, która jest również wysyłana, gdy żaden plik nie uległ zmianie na tyle, by samodzielnie spowodować przekroczenie limitu.
  • Widoczny limit monitorowania: analiza odczytuje maksymalnie 250 000 nazw w wykluczonych folderach, a kolejne foldery były rejestrowane jako nieobjęte monitorowaniem, ale wyświetlane wyłącznie w ramach zadania. Obecnie wyświetla się w tym miejscu wiersz ostrzegawczy w sekcji „Podsumowanie” oraz powiadomienie w sekcji „Sprawdzenia” z liczbą folderów nieobjętych monitorowaniem, a zbiór multimediów jest oznaczany jako częściowy, jeśli jego objętość została zmierzona poniżej tego limitu.
  • Naprawia problem, w wyniku którego połączenie z Integrity ulegało pogorszeniu w Back Office w kontekście „wszystkie sklepy” lub gdy test rejestracji był obsługiwany przez sklep inny niż pierwszy: podłączony sklep przechodził w stan „rejestracja oczekująca”, a testu nie można było podpisać. Identyfikator instalacji jest obecnie odczytywany jako całość z zakresu globalnego (lub ze sklepu, w którym jest przechowywany) 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.
  • Nowość: wspólny pasek filtrów. Korzystają z niej: przegląd zmian oraz historia zadań; selektory są rozmieszczone w siatce o równej szerokości, pole wyszukiwania i przycisk „Filtruj” znajdują się w tym samym wierszu, a działania dodatkowe, takie jak eksport audytu do pliku CSV, są wyrównane do prawej strony. Wcześniej filtry były upchnięte, a przyciski nakładały się na siebie.
  • Wiadomości e-mail z powiadomieniami, podsumowaniami konserwacji oraz testami zawierają w nagłówku logo Państwa sklepu (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.
  • Proszę poprawić sytuację, w której w temacie wiadomości e-mail nazwa sklepu pojawia się dwukrotnie.
  • 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 działania w panelu (żądania zadań i pobieranie raportu pomocy technicznej, a także synchronizacja z Integrity) sprawdzały token bezpieczeństwa za pomocą metody, której PrestaShop 9 nie stosuje, co mogło powodować odrzucenie tych działań. Obecnie weryfikacja odbywa się za pośrednictwem serwisu 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.
  • W nagłówku produktu ponownie wyświetla się logo GO ON Agency oraz podpis „PrestaWard by GO ON Agency”, bez linków. Format linii bazowej, liczba bajtów w manifeście oraz umowa z Integrity API pozostają bez zmian; aktualizacja dodaje kolumny (dwie do tabeli zadań oraz kolumny dotyczące objętości multimediów w podziale na foldery, zadania i linie bazowe).

0.1.7

  • Analizuje podejrzany kod w nowych lub zmodyfikowanych plikach PHP i JavaScript (każdy o rozmiarze do 512 KB) pod kątem wzorców charakterystycznych dla web shelli oraz kodu zaciemnionego, a następnie przedstawia wynik w języku zrozumiałym. Trafienie oznacza „należy sprawdzić ten plik”, a nie dowód ataku; plik bez trafień nie jest uznawany za bezpieczny, a plik przekraczający limit jest oznaczany jako sprawdzony tylko częściowo.
  • Wykrywa zamaskowane obrazy (z nieprawidłowym nagłówkiem lub zawierające kod PHP) we wszystkich folderach: włączonych, wykluczonych oraz – przy określonych ograniczeniach czasowych i rozmiarowych – w folderach tymczasowych, takich jak img/tmp, których analiza nadal nie obejmuje.
  • Przypisuje poziom ryzyka do każdej zmiany (wysoki, wymaga przeglądu lub niski), widoczny i filtrowalny podczas przeglądu zmian oraz uwzględniony w pliku CSV audytu i w wiadomościach e-mail z powiadomieniami.
  • Proszę zgrupować aktualizacje modułów i motywów w jednym elemencie, podając zarówno poprzednią, jak i nową wersję. Zmiany w kodzie PHP wykryte w ramach aktualizacji charakteryzują się niskim poziomem ryzyka i nie generują już wiadomości ostrzegawczych. Wymagane jest utworzenie linii bazowej opartej na tej wersji.
  • Nowy panel plików rdzenia: porównuje je z oficjalną listą sum kontrolnych Państwa wersji PrestaShop, w partiach z możliwością wznowienia. Pojedyncza różnica nie oznacza włamania; jeśli lista nie istnieje lub nie można jej pobrać, panel wskazuje, że rdzeń nie został zweryfikowany i nigdy nie przedstawia go jako zweryfikowanego.
  • Nowa kontrola konfiguracji zabezpieczeń z oceną w skali od 0 do 100 (tryb debugowania, folder administracyjny, uprawnienia konfiguracyjne, foldery instalacyjne, zrzuty bazy danych i archiwa w głównym katalogu witryny, wersja PHP, HTTPS oraz widoczne błędy PHP, a także inne elementy). Każdy punkt zawiera wyjaśnienie i rozwiązanie; elementy, których nie można sprawdzić, są oznaczone jako „niesprawdzone” i nie są punktowane.
  • Powiadamia o zadaniu cron, które nigdy nie zostało wykonane, a także – za pomocą osobnego powiadomienia – o folderach i kopiach zapasowych modułów znajdujących się w katalogu głównym serwisu.
  • W nowych instalacjach domyślnie wyklucza się kopie zapasowe modułów oraz folder pobranych plików. W istniejących instalacjach opcje te są dostępne w panelu i mają zastosowanie wyłącznie po ich aktywowaniu, co tworzy nową linię bazową.
  • Okno konserwacyjne trwające od 1 do 4 godzin: wycisza powiadomienia e-mailowe, ale nadal rejestruje zmiany, a po zamknięciu wysyła zbiorcze podsumowanie z opcjami „Zaakceptuj te zmiany” lub „Odrzuć”. Opcja „Zaakceptuj” oznacza jedynie oznaczenie zmian jako sprawdzonych; funkcja „Snapshot” nigdy samodzielnie nie tworzy linii bazowej.
  • Gdy zasięg analizy wzrasta między kolejnymi wersjami, pliki z folderów, które nie były objęte zasięgiem w linii bazowej, są raportowane jako nowy zasięg, a nie jako tysiące dodanych plików z alertami krytycznymi.
  • Funkcja przeglądu zmian obsługuje bardzo duże zbiory wyników: paginację z możliwością przejścia do konkretnej strony, podsumowanie pogrupowane według folderów, statusu i ryzyka, a także zmiany oczekujące z poprzednich linii bazowych oznaczone jako zastąpione.
  • Skraca czas tworzenia linii bazowej oraz walidacji katalogów w dużych sklepach internetowych, w których zachowano poprzednie zadania (minuty zamiast kilkudziesięciu minut), a także usuwa w ograniczonych partiach tymczasowe wiersze zakończonych zadań.
  • Koryguje kilka ostrzeżeń: Snapshot nie wykrywa już własnych plików jako zmian o wysokim ryzyku, standardowy plik ochrony PrestaShopu index.php nie jest już oznaczany jako podejrzany plik wykonywalny, sekcja „Ostatnie zmiany” wyświetla sumy z ostatniego porównania, a po utworzeniu linii bazowej panel nie przedstawia poprzedniego porównania jako aktualnego.
  • Back Office wyświetla komunikat „Przetwarzanie z konsoli” podczas trwania procesu konsolowego; ponowne załadowanie strony po naciśnięciu przycisku nie powoduje ponownego wysłania żądania, a komunikat o odrzuceniu uruchomienia wskazuje, jakie zadanie jest obecnie wykonywane. Proces konsolowy wyświetla krótki komunikat o postępie zamiast osobnego komunikatu dla każdego etapu.
  • Spójność panelu Back Office: panel zadań i znajdujące się na nim przyciski mają taki sam wygląd jak pozostała część panelu, a komunikaty o stanie zadania cron oraz dziennika aktywności są wyświetlane w języku Back Office we wszystkich dziewięciu językach.
  • 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.
  • Arkusze stylów są ładowane wraz z wersją modułu, dzięki czemu nowy wygląd pojawia się po aktualizacji bez konieczności opróżniania pamięci podręcznej przeglądarki.
  • 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.6

  • Dowiązanie symboliczne nie przerywa już skanowania: jest pomijane bez śledzenia ani obliczania jego śladu (a zatem nie stanowi części linii bazowej) i jest zgłaszane w panelu wraz z ostrzeżeniem, gdy prowadzi poza sklep lub do nieistniejącego miejsca docelowego.
  • Podczas skanowania odrzuca pliki, które nie mogą znaleźć się w manifeście.
  • Nigdy nie przeszukuje folderów tymczasowych PrestaShop (img/tmp) ani pamięci podręcznej połączonych zasobów motywu, które są stale odświeżane i mogłyby przerwać analizę ze stanem directory_changed.
  • Stosuje wykluczenia przed wejściem do każdego folderu: wykluczone foldery nie są już objęte analizą integralności i są sprawdzane wyłącznie pod kątem obecności plików wykonywalnych w ramach oddzielnego przebiegu, który nigdy nie wstrzymuje zadania i jest ograniczony do 250 000 nazw na jedno zadanie.
  • Ponownie odczytuje się do trzech razy zawartość folderu, który ulega zmianie podczas analizy. Jeśli zmiany nadal występują, foldery rdzenia, konfiguracji, administracji, modułów bramki płatności oraz aktywnego motywu powodują wstrzymanie zadania, tak jak poprzednio; pozostałe elementy są pomijane z wyświetleniem ostrzeżenia, a zadanie zostaje zakończone.
  • Skrypt cron przetwarza kilka kolejnych partii na jedno wywołanie (do około 20 sekund) i sygnalizuje stan cli_required oraz kod odpowiedzi HTTP 409, gdy zadanie wymaga uruchomienia procesu z wiersza poleceń. Narzędzie monitorujące, które traktuje każdą odpowiedź inną niż 2xx jako błąd, zgłosi to, zgodnie z oczekiwaniami. Proces ten jest uruchamiany ręcznie przez administratora serwera: moduł nigdy nie uruchamia go samodzielnie.
  • Wzmacnia blokadę zapobiegającą jednoczesnym uruchomieniom zadania cron, nawet jeśli pierwsze dwa uruchomienia pokrywają się w czasie.
  • Przenosi pliki tymczasowe z manifestu do prywatnego katalogu w obrębie sklepu, co jest zgodne z zasadami open_basedir oraz z czyszczeniem systemowego katalogu tymczasowego. W serwerze Nginx zaleca się zablokowanie dostępu do adresu var/prestaward-snapshot/.
  • Wykrywa tabele, które nie korzystają z InnoDB, wyświetla jasny komunikat w dziewięciu językach oraz konwertuje tabele modułu podczas aktualizacji, rejestrując każdą konwersję.
  • Dodaje panel sprawdzania stanu w Back Office, dostępny wyłącznie do odczytu: prywatny folder przygotowawczy, silnik przechowywania danych bazy danych, częstotliwość zadań cron oraz zadania oczekujące na przetworzenie z wiersza poleceń.
  • Poprawia sumy w raporcie zadań: dowiązania są liczone oddzielnie od wykluczonych plików.
  • Każdy moduł jest analizowany tylko raz, w obszarze płatności lub w obszarze modułów, tak więc moduł, który nie jest bramką płatniczą i ulega zmianie w trakcie analizy, nie powoduje już wstrzymania zadania.
  • Jeśli zadanie nie jest w stanie w pełni objąć danego folderu, migawka jest wyświetlana jako częściowo pokryta, a podczas porównania pliki z tych folderów są oznaczane jako „niezweryfikowane”, a nie jako usunięte.
  • Panel zadań wskazuje foldery, których dotyczy każdy rodzaj alertu, oraz zalecane działania, w dziewięciu językach. Dezinstalacja usuwa również tabele zadań.
  • PrestaShop 9: proces wiersza poleceń oraz cron nie ulegają już awarii w wyniku pomylenia folderu „admin-api” rdzenia z folderem „Back Office”.
  • W przypadku niepowodzenia procesu wiersza poleceń należy zakończyć go wierszem diagnostycznym zawierającym stały kod przyczyny, bez ścieżek ani komunikatów wewnętrznych.
  • Zmniejsza koszty analizy w sklepach posiadających dużą liczbę plików.
  • PHP 7.1 i 7.2: rejestracja, atestacja oraz heartbeat Integrity nie są już zatrzymywane z powodu błędu składniowego.
  • Koryguje aktualizację z wersji 0.1.5 w przypadku braku tabeli migawek.
  • Zweryfikowano laboratoryjnie w PrestaShop 1.7, 8 i 9, w tym przeprowadzono test z wykorzystaniem 300 000 plików, które ulegają zmianom w trakcie analizy.

0.1.5

  • Przywraca automatyczne ponowne próby atestacji Integrity, oczekujące heartbeaty oraz retencję po odpowiedziach asynchronicznego cronu. Konserwacja jest wykonywana w ograniczonych partiach i koordynowana niezależnie od postępów skanowania.
  • Jeśli poprzednia linia bazowa zawierała kilka folderów administracyjnych, kolejne porównanie może wykazać dodatkowe wpisy: proszę sprawdzić różnice i w razie potrzeby utworzyć nową linię bazową, nie usuwając automatycznie poprzedniej.
  • Zezwala na użycie prawidłowych nazw plików zawierających kolejne kropki i zachowuje Ochronę przed niebezpiecznymi ścieżkami.
  • Zachowuje wszystkie pliki z dodatkowych folderów administracyjnych, nie myląc ich z plikami aktywnego Back Office.
  • Zapisuje postęp linii bazowych i porównań, aby umożliwić kontynuację po zamknięciu panelu lub przerwaniu żądania.
  • Przetwarza i weryfikuje pliki w trybie wsadowym; wyniki są wyświetlane dopiero po zakończeniu zadania, a w przypadku jego anulowania lub niepowodzenia zachowana zostaje ostatnia prawidłowa linia bazowa.
  • Koryguje porównanie plików administracyjnych z poprzednimi liniami bazowymi i zachowuje wykluczenia odznaczonych folderów.
  • Dodaje raport diagnostyczny do pobrania, który można ręcznie dołączyć do zgłoszenia do pomocy technicznej, bez automatycznego przesyłania danych. Raport ten może pobrać wyłącznie pracownik posiadający uprawnienia do edycji, który wybrał konkretny sklep, a nie zawiera on ścieżek, treści plików ani danych uwierzytelniających.
  • Uzupełnia statusy panelu, komunikaty i szablony alertów w dziewięciu językach.
  • Zachowuje poprawki dotyczące rejestracji oraz aktualizacji z wersji 0.1.4.

0.1.4

  • Koryguje błędy rejestracji Integrity w PrestaShop 9 i zachowuje istniejącą rejestrację podczas aktualizacji sklepów bez funkcji wielosklepowej.
  • Przywraca automatyczne ponowne próby rejestracji i rejestruje rzeczywistą przyczynę błędów.
  • Aktualizuje standardowy wygląd Back Office i dodaje informacje dotyczące przetwarzania danych.
  • Dostosowuje formaty liczb i czasu trwania do języka administratora oraz tłumaczy stany i etykiety w panelu.
  • Koryguje numer wersji zainstalowanego modułu podczas aktualizacji.
  • Przygotowuje pakiet AFL-3.0 dla Addons: usuwa mechanizm sprawdzania aktualizacji i oblicza tożsamość na podstawie zainstalowanych plików.

0.1.3

  • Poprawka bezpieczeństwa: skanowanie obejmuje teraz całą instalację PrestaShop, w tym foldery override, src, vendor, upload, download, img, js oraz pliki w katalogu głównym.
  • Łatka bezpieczeństwa: pliki o znaczeniu dla bezpieczeństwa są zawsze monitorowane, niezależnie od ich rozszerzenia.
  • Poprawka bezpieczeństwa: wzmacnia weryfikację zdalnych atestacji i zatrzymuje automatyczne ponowne próby w przypadku zmiany klucza rejestracyjnego sklepu.

0.1.2

  • Automatyczny heartbeat bez cron, uruchamiany w sposób nieblokujący przez normalny ruch w sklepie.
  • Żądanie przeglądarki pozostaje w tej samej domenie, a dane uwierzytelniające Integrity są wykorzystywane wyłącznie na serwerze.
  • Blokada na sklep, sześciogodzinny odstęp czasowy oraz okres oczekiwania po wystąpieniu błędów w celu uniknięcia duplikatów.
  • Ręczna synchronizacja Integrity aktualizuje również informacje o obecności instalacji.

0.1.1

  • Heartbeat Integrity oraz monitorowanie kondycji crona.
  • Bezpieczne haszowanie przyrostowe z okresową pełną weryfikacją oraz ciągłym ponownym obliczaniem obszarów krytycznych.
  • Klasyfikacja zmian rutynowych, podejrzanych i krytycznych.
  • Filtry, paginacja, przegląd z adnotacjami oraz eksport audytu do pliku CSV.
  • Różnice w metadanych bez przechowywania treści oraz retencja z zabezpieczonym czyszczeniem.
  • Pulpit nawigacyjny wizualnie dostosowany do ekosystemu PrestaWard.

0.1.0

  • Automatyczna rejestracja bez blokowania w PrestaWard Integrity API.
  • Lokalna kolejka z ponownymi próbami w celu przeprowadzenia atestacji każdego manifestu bez wysyłania plików ani treści.
  • Zdalne potwierdzenia podpisane, połączone w łańcuch i zweryfikowane w ramach sklepu.
  • Stan połączenia i dostawy widoczny na pulpicie nawigacyjnym.

0.0.9

  • Linki do pomocy kontekstowej z pól konfiguracyjnych prowadzące do publicznego przewodnika.
  • Publiczny przewodnik uporządkowany według celu i pola konfiguracji, zawierający praktyczne objaśnienia dotyczące każdego ustawienia.
  • Usuwa z konfiguracji zbędne wyświetlanie źródła aktualizacji.

0.0.8

  • Wykluczenia konfigurowalne na podstawie dokładnej nazwy i ścieżki względnej, z niezmienną polityką i skrótem SHA-256.
  • Konieczne jest wyświetlenie podglądu przed aktywacją polityki i utworzeniem nowej linii bazowej.
  • Zablokowano porównania między różnymi politykami.
  • Niekonfigurowalny monitoring plików wykonywalnych i plików konfiguracyjnych w wykluczonych strefach.
  • Ograniczone wykrywanie niebezpiecznych nagłówków PHP i interpreterów w plikach o mylących rozszerzeniach.
  • Pełna weryfikacja w PrestaShop 1.7, 8 i 9, w tym test mieszany z wykorzystaniem 100 000 plików.

0.0.7

  • Pełna nazwa produktu i modułu technicznego została zmieniona na PrestaWard Snapshot.
  • Początkowy dostęp ograniczony do profilu administratora.
  • Wyraźne autoryzowanie dodatkowych profili za pomocą natywnych uprawnień platformy PrestaShop.
  • Rozdzielenie uprawnień do odczytu, tworzenia migawek oraz konfiguracji za pomocą uprawnień READ, CREATE i UPDATE.
  • Ukrywanie ustawień, tokenów cron oraz działań wrażliwych dla profili z uprawnieniami tylko do odczytu.
  • Wyjaśnienie w dokumentacji: moduł monitoruje integralność plików, ale nie przechowuje ani nie przywraca kopii zapasowych.

0.0.6

  • Linki do produktów, przewodnika, dostawców i pomocy technicznej pozostają aktywne po czystej instalacji.
  • Aktualizacja metadanych na podstawie publicznego manifestu.
  • Logo GO ON Agency z linkami w Back Office i wiadomościach e-mail.
  • Alternatywny adres URL widoczny w wiadomościach e-mail w formacie HTML i zwykłym tekście.
  • Działanie testowej wiadomości e-mail oraz narzędzia umożliwiające odtworzenie wydania.

0.0.5

  • Naprawia automatyczne ładowanie starszego kontrolera.
  • Dostęp przeniesiono do sekcji głównej PrestaWard Snapshot.

0.0.4

  • Klikalne menu Back Office.
  • Pełna weryfikacja prawidłowego przebiegu cyklu instalacji i deinstalacji.

0.0.3

  • Wyraźnie określony kontekst wielosklepowy.
  • Obsługa właściwości dynamicznych w PHP 8.5.

0.0.2

  • Role autoryzacyjne i jawne uprawnienia dostępu.

0.0.1

  • Linia bazowa, porównanie, alerty, cron, logi, sprawdzanie aktualizacji oraz początkowy panel.