PrestaShop 8.2.9 i 9.2.1: dwie łatki dotykają promocji. Co zaktualizować przed Black Friday

Najgorsze aktualizacje to te, które robi się w pośpiechu w tygodniu promocji. Dlatego piszę o tej teraz. 9 listopada PrestaShop wydał dwie wersje z poprawkami bezpieczeństwa, a dwie z poprawek dotyczą dokładnie tego, co uruchamiasz na Black Friday: kuponów i darmowych zamówień. Do 27 listopada zostały niecałe trzy tygodnie, czyli dość czasu na spokojną aktualizację z kopią i testem.

Co wydał PrestaShop 9 listopada i czy dotyczy to Twojego sklepu
Wersja 8.2.9 usuwa 15 podatności, z czego 12 PrestaShop ocenia jako poważne (High). To wydanie zawiera wyłącznie poprawki bezpieczeństwa. Wersja 9.2.1 usuwa 18 podatności, z czego 15 poważnych. Te same 15 co w 8.2.9 plus trzy, które dotyczą tylko PrestaShop 9 (dwie w Admin API i jedna w trybie debugowania). Do tego 9.2.1 przynosi dwie drobne poprawki panelu i nowsze wersje bibliotek.
Według komunikatów PrestaShop na GitHubie objęte są wersje od 8.0.0 do 8.2.8 oraz od 9.0.0 do 9.2.0 (przykładowy komunikat). Projekt pisze wprost: „Updating as soon as possible is strongly recommended”, czyli zaleca aktualizację tak szybko, jak to możliwe.
Ocena „High” to ocena producenta w skali CVSS (Common Vulnerability Scoring System) od 0 do 10, standardowej miary powagi błędu. W 8.2.9 poważne pozycje mają oceny od 7,2 do 8,7, w 9.2.1 od 7,1 do 8,8. To miara samego błędu, a nie ryzyka dla konkretnego sklepu. Większość z tych błędów wymaga dostępu do panelu albo klucza API, czyli hasła do interfejsu, przez który inne systemy (np. integracja z kurierem albo z programem magazynowym) wymieniają dane ze sklepem. Te błędy dotyczą więc sklepów, w których te dostępy ma więcej osób albo firm. Dwie luki, od których zaczynam, dotyczą jednak strony klienta, czyli zwykłego procesu zamówienia.
Jeśli nie wiesz, na jakiej wersji stoi Twój sklep, zapytaj wykonawcę albo sprawdź w panelu. To pierwsza rzecz, którą zapisuję przed każdą aktualizacją.
Dwie poprawki, które dotyczą promocji
Pierwsza dotyczy reguł koszyka, czyli kuponów i kodów rabatowych z limitem użyć. Według komunikatu PrestaShop liczba pozostałych użyć była sprawdzana przy walidacji koszyka, a zmniejszana dopiero na końcu tworzenia zamówienia. Przy kilku równoczesnych zamówieniach każde mogło przejść sprawdzenie, więc kupon jednorazowy albo z limitem dawał się wykorzystać kilka razy, za każdym razem z pełnym rabatem.
Druga dotyczy zamówień o wartości 0 zł, na przykład przy gratisie albo kuponie na 100%. Komunikat opisuje, że z jednego koszyka o zerowej wartości mogło powstać kilka zamówień, gdy przyszło kilka równoczesnych żądań potwierdzenia. PrestaShop dodaje, że do tego nie trzeba konta, wystarczy zwykła sesja zamówienia.
W kategoriach sprzedaży oba błędy uderzają w budżet promocji, a nie w dane. Kupon, który zaplanowałem na przykład na sto użyć, kosztuje więcej, niż założyłem, jeśli część z nich zostanie wykorzystana podwójnie. Gratis za 0 zł wysłany kilka razy to kilka paczek i kilka kosztów wysyłki zamiast jednej. W zwykłym tygodniu takie przypadki giną w szumie. W tygodniu Black Friday, gdy limitowanych kodów jest najwięcej, trudniej je wyłapać na bieżąco.
Dla mnie najważniejszy jest jeden wiersz w obu komunikatach. W polu „Workarounds”, czyli obejścia na czas przed aktualizacją, PrestaShop wpisał „None”, a jako poprawkę podał tylko przejście na 8.2.9 albo 9.2.1. Jeśli na Black Friday planujesz kody z limitem użyć albo gratisy za 0 zł, jedyną drogą jest aktualizacja sklepu.
Aktualizacja w sezonie a zamrożenie zmian
We wrześniu pisałem o zamrożeniu zmian przed czwartym kwartałem: nowe funkcje czekają do stycznia, a poprawki bezpieczeństwa są wyjątkiem. Wersja 8.2.9 wprost mieści się w tym wyjątku. Przy 9.2.1 wykonawca powinien wiedzieć, że oprócz łatek dostaje dwie poprawki panelu i nowsze biblioteki, więc testuje trochę szerzej.
PrestaShop zaleca jedną kolejność. Najpierw pełna kopia bazy danych i plików, potem aktualizacja przez Update Assistant, czyli moduł aktualizacji w panelu sklepu. Dokumentacja wyjaśnia, że to dawne „1-Click upgrade” i że moduł ma własną opcję kopii zapasowej. Moduł daje trzy warianty kopii: pełną z obrazkami, częściową bez obrazków i brak kopii. Pełna jest włączona domyślnie i zapisuje się w folderze modułu na tym samym serwerze co sklep. Ta sama dokumentacja radzi zrobić także kopię ręczną, żeby mieć pełną kontrolę nad przywróceniem sklepu. Dlatego proszę wykonawcę jeszcze o jedną kopię poza serwerem, na wypadek gdyby problem dotyczył samego serwera. Po aktualizacji składam testowe zamówienie i sprawdzam, czy dochodzi do analityki. Robię to według tej samej listy kontrolnej z testowym zamówieniem, której używam po każdej zmianie w sklepie.
Gdy nie możesz zaktualizować od razu
Nie każdy sklep zaktualizuje się w tym tygodniu. Czasem wykonawca ma kolejkę, czasem sklep ma modyfikacje, które trzeba najpierw sprawdzić. Na ten czas są dwie rzeczy, które zrobisz bez pełnej aktualizacji.
Pierwsza to moduły. Oba wydania zawierają nową wersję modułu newslettera (ps_emailsubscription 3.0.1) i modułu RODO (ogólne rozporządzenie o ochronie danych), czyli psgdpr 1.4.4. Moduł newslettera miał błąd w eksporcie listy subskrybentów do arkusza. Moduł RODO pozwalał zapisać w rejestrze zgodę w imieniu innego klienta. PrestaShop pisze, że oba moduły można zaktualizować osobno w Module Managerze, czyli w menedżerze modułów w panelu.
Druga to folder instalacyjny. Jedna z luk pozwalała uruchomić kod na serwerze bez logowania, ale dotyczyła tylko sklepów, w których na serwerze został folder install. Inna luka instalatora, według wpisu o wydaniu 8.2.9, pozwalała ponownie uruchomić instalator, jeśli był nadal dostępny, i nadpisać konfigurację sklepu. Dla pierwszej z tych luk PrestaShop podaje obejście: usunąć ten folder po instalacji sklepu. Zapytaj wykonawcę, czy w Twoim sklepie go nie ma.
Żadna z tych rzeczy nie zastępuje aktualizacji. Luk w kuponach i zamówieniach za 0 zł nie zamyka ani nowy moduł, ani usunięty folder.
Co zlecić wykonawcy i co sprawdzić po aktualizacji
Wysłałbym wykonawcy jedną wiadomość z sześcioma punktami:
- Na jakiej wersji PrestaShop stoi sklep i kiedy przejdzie na 8.2.9 albo 9.2.1.
- Czy przed aktualizacją powstanie pełna kopia bazy i plików i gdzie będzie leżeć.
- Czy moduły newslettera i RODO są w wersjach 3.0.1 i 1.4.4.
- Czy na serwerze nie ma folderu install.
- Czy po aktualizacji ktoś złoży testowe zamówienie z kuponem z limitem i jedno z koszykiem za 0 zł.
- Kto po stronie wykonawcy reaguje i w jakim czasie, jeśli po aktualizacji coś przestanie działać w trakcie promocji.
Odpowiedź na piśmie z datą przyda się, gdy w szczycie sezonu ktoś zapyta, co zostało zrobione. Aktualizacja usuwa podatności opisane w tych wydaniach. Nie jest gwarancją, że w sklepie nie ma innych problemów, zwłaszcza w modułach zewnętrznych dostawców, które mają własne aktualizacje.
Co zrobić do Black Friday
W tym tygodniu ustal wersję sklepu, zamów kopię i termin aktualizacji. Jeśli termin wypada później, zaktualizuj od razu moduły newslettera i RODO i sprawdź folder install. Przed startem promocji złóż testowe zamówienie z kuponem i z koszykiem 0 zł, a kody z limitem użyć uruchamiaj dopiero na zaktualizowanym sklepie.
Po sezonie, w najbliższym kwartale, warto wrócić do wersji. PrestaShop pisze, że gałąź 8.2.x jest w fazie rozszerzonego wsparcia i dostaje już tylko poprawki bezpieczeństwa i krytyczne. Jeśli Twój sklep stoi na 8.2, styczeń i luty to dobry czas, żeby z wykonawcą policzyć koszt przejścia na 9.x. Lepiej po tym sezonie niż w trakcie kolejnego, pod presją następnego komunikatu o łatkach.
Jeśli chcesz sprawdzić, co jeszcze w sklepie da się bezpiecznie poprawić przed sezonem, umów bezpłatną konsultację.
Bądź na bieżąco z e-commerce
Dołącz do newslettera Pro1.pl: praktyczne wskazówki, case studies i nowości ze świata e-commerce prosto na Twoją skrzynkę.

Marcin Janczewski
IT & e-commerce · Pro1.pl
Współzałożyciel Pro1.pl i DrTusz.pl. Z branżą ecommerce związany jest ponad 20 lat. Swoją karierę rozpoczynał od własnego sklepu internetowego z asortymentem do drukarek, który z sukcesami prowadzi do dziś. Obecnie DrTusz.pl jest nie tylko wiodącym ecommercem w branży, ale także marką samą w sobie, kojarzoną z najwyższym poziomem marketingu. Wspiera sklepy internetowe na każdym etapie ich rozwoju, od momentu wejścia w sprzedaż online po budowanie i optymalizację procesów. Programista z wykształcenia, marketer i sprzedawca z pasji.
Czytaj też
- Google Ads6 min czytania
Performance Max może oddawać zapytania o markę kampanii w wyszukiwarce. Co sprawdzić w kampanii na markę przed Black Friday
Anna Stachurska - E-commerce5 min czytania
„Zwrot 100% na voucher” bez warunków w reklamie. Co komunikat UOKiK o Biedronce mówi o promocjach z bonem
Anna Stachurska - E-commerce5 min czytania
Produkty personalizowane w sklepie: kiedy konfigurator, dłuższy czas realizacji i dopłata się opłacają
Marcin Janczewski