Magento wydało nową łatkę bezpieczeństwa dla M1 oraz aktualizacje dla M1 i M2.
Na jakie typowe problemy należy zwrócić uwagę przy stosowaniu tej poprawki / aktualizacji?
Magento 1
https://magento.com/security/patches/supee-11155
Magento 2
To powinna być ostatnia wersja z serii 2.1, która osiągnie EOL pod koniec tego miesiąca.
Odpowiedzi:
Ta poprawka jest niezgodna z łatką wspierającą PHP 7.2 . Usunięcie linii od 1711 do 1761 pozwala zastosować łatkę. Ta poprawka próbuje załatać pliki, które zostały usunięte przez poprawkę 7.2. Usunięcie tych linii powinno być bezpieczne.
źródło
Błąd instalacji w wersji 1.7.0.2 CE z zainstalowanymi wszystkimi poprzednimi łatkami (patrz poniżej).
EDYCJA: Problem (nr 1) został spowodowany brakującym plikiem - app / code / core / Mage / Catalog / Model / Product / Option / Type / File.php.orig
Problem (nr 1) rozwiązany przez usunięcie wierszy 874-1702 (odnoszących się do pliku File.php.orig) ze skryptu poprawki.
Problem (nr 2) został spowodowany niewłaściwym formatowaniem łatki i pliku - js / tiny_mce / plugins / media / js / media.js
Problem (nr 2) został rozwiązany przez uruchomienie polecenia dos2unix zarówno dla pliku poprawki, jak i dla pliku media.js
Poprawka zainstalowana pomyślnie po rozwiązaniu dwóch opisanych problemów.
źródło
Magento 1.9.1.0.
Łatka została zastosowana pomyślnie.
Po dodaniu produktu do koszyka, a następnie zalogowaniu się, koszyk jest ponownie pusty.
Nie sądzę, że problem był już wcześniej i wydaje się, że wprowadzono zmiany
app/code/core/Mage/Checkout/Model/Session.php
AKTUALIZACJA:
Trochę to debugowałem.
Kiedy przywracam łataną wersję
app/code/core/Mage/Checkout/Model/Session.php
, znów działa ona dla mnie. Jestem więc pewien, że ma to związek z łatką.Najpierw pomyślałem, że to w połączeniu z,
$quote->unsetData();
ale moje testy były niejednoznaczne i i tak nie byłoby poprawki, aby je usunąć.Ponieważ jestem teraz na wakacjach, mam ograniczony czas na zbadanie tego dalej.
AKTUALIZACJA 2:
Ten problem wydaje się rozwiązany w najnowszej łatce (SUPEE-11219). Wprowadzono zmiany w aplikacji / code / core / Mage / Checkout / Model / Session.php.
źródło
Na M1, w szczególności 1.9.2.1 w / wszystkie poprzednie poprawki zastosowane. Wystąpił następujący błąd:
Usunięcie wierszy dotyczących tego pliku z pliku poprawki i ręczne zastosowanie tej zmiany działało dla mnie, gdy ponownie zastosowałem plik poprawki.
Kiedy spojrzałem na różnicę między plikiem js / tiny_mce / plugins / media / js / media.js a plikiem z OpenMage Mirror , były to identyczne pliki.
źródło
1.9.1.0, po pomyślnym zastosowaniu łatki, uzyskaj poniżej błędu podczas logowania administratora
jak naprawić?
źródło
Na M1, 1.9.1.0 z zastosowanymi wszystkimi poprzednimi łatami, pojawia się wiele błędów:
Patrząc na sam kod w pliku łaty, wydaje się, że w ogóle nie pasuje do PHP w mojej instalacji.
Może gdzieś po drodze przegapiłem łatkę?
źródło
Magento 1.7.0.2
Otrzymuję:
Czy to z łaty PHP 7.2?
AKTUALIZACJA: wygląda na to, że te pliki były w porządku, to tylko przesunięcie pustej przestrzeni.
Plik problemu to:
Myślę, że to był plik, który pozostał po jednej z łat. Nowa poprawka po prostu usuwa ten plik. Nie miałem go w tym katalogu, więc pojawił się błąd.
AKTUALIZACJA: lista dotkniętych plików w Magento 1.7.0.2
źródło
Na wersji M1 1.9.4.0 ze wszystkimi poprzednimi łatkami pojawił się następujący błąd
jak widzę z pliku łatki, szuka
ale zamiast tego oto co mam
Potwierdziłem na https://raw.githubusercontent.com/OpenMage/magento-mirror/1.9.4.0/app/Mage.php, że mamy poprawny kod i wersję.
Zaktualizuję, jeśli znajdę rozwiązanie
źródło
Korzystanie z open-mag-lts 1.9.4.1
sprawdzanie pliku app / design / adminhtml / default / default / template / catalog / product / helper / gallery.phtml Przystojniak # 1 NIEudany o 59. 1 z 1 przystojniacz NIEudany
Porównywanie -lts do rdzenia:
który został wprowadzony przez ten PR-in
https://github.com/OpenMage/magento-lts/pull/596
https://github.com/OpenMage/magento-lts/pull/788
Poprawiony kod:
źródło
Czegoś brakuje w SUPEE-11155 (CE / EE) jest to, że w
Mage_Catalog_Helper_Product
pliku klasygetDefaultProductValue
wprowadzono metodę opartą naDEFAULT_QTY
zmiennej stałej.Problem polega na tym, że ta zmienna nie istnieje w wielu różnych plikach poprawek i występuje tylko na kilku z nich: https://ibb.co/LzcL0gn
Czy sami go załatamy? Magento, jesteś tego świadomy?
Dziękuję wszystkim
źródło
Czy to tylko ja, czy to nie wygląda na błąd?
Czy coś mi umyka?
Good News jest to, że nazywa się tylko za pośrednictwem jednego obszaru w kodzie i jak długo masz ważny identyfikator produktu nie będzie wywołać tę funkcję. Ale jeśli nie ma prawidłowego identyfikatora produktu lub ktoś próbuje użyć tej funkcji na podstawie tego, jak została zaprojektowana, prawdopodobnie pojawią się problemy.
źródło
Dla tych, którzy używają PHP 5.3 (lub mniej niż 5.4), oto niektóre części łatki, które należy zmienić.
Dla porównania, dotyczy to PATCH_SUPEE-11155_CE_1.7.0.2_v4-2019-08-01-03-58-34
app / code / core / Mage / Adminhtml / controllers / Newsletter / TemplateController.php
app / code / core / Mage / Adminhtml / controllers / System / Email / TemplateController.php
app / code / core / Mage / Cms / Helper / Data.php
Uwaga: Jeśli zmieniasz je w pliku łatki, pamiętaj również o zmianie pozycji długości, ponieważ dodajesz nowy wiersz w pliku łatki. Na przykład dla ostatniego wspomnianego powyżej:
źródło
EE 1.13.1.0 z uruchomionym PHP 7.0.x z modułem Inchoo PHP7:
Promocje> Zasady koszyka zakupów (prawdopodobnie także inne): nie można zapisać reguły, zgłaszany jest wyjątek „Określono niewłaściwą regułę”.
Rozwiązaliśmy ten problem przepisując Mage_Adminhtml_Helper_Data :: removeTags przy użyciu tego z 1.14.xx (użyłem 1.14.4.0 - nie jestem pewien, która wersja go zmieniła).
Zaktualizowana wersja:
źródło
Miał ten sam problem co @Mat
On M1, 1.9.1.0 with all previous patches applied, I get numerous errors:
Moje zakończenia linii nie były ustawione na unix / macosx w repozytorium (inny programista korzystający z Win-dows).
używał dos2unix do konwersji niezbędnych plików i działał.
A jako @chaoticgeek mam:
Hunk #1 FAILED at 483. 1 out of 1 hunk FAILED -- saving rejects to file js/tiny_mce/plugins/media/js/media.js.rej
Do tej pory miało to miejsce we wszystkich transakcjach repo (6), 1.9.2.4, 1.9.3.8 x 2, 1.9.3.2 x 2 i 1.9.2.1.
źródło
ten sam problem na Magento CE 1.8.1 ze wszystkimi zastosowanymi łatami:
sprawdzanie pliku app / Mage.php Hunk # 1 FAILED at 813. 1 z 1 hunk FAILED
jakaś pomoc / pomysł?
źródło
zmień to na:
źródło
Na M1, 1.9.1.0 mam
Nawet kiedy biegnę
nic się nie zmienia.
Skąd mam wiedzieć, który to plik? 486 to linia ścieżki?
źródło
Obecnie korzystam z wersji 1.9.3.1 i mam kilka konfliktów. Korzystam z trzeciej wersji łatki (patrz nazwa pliku):
EDYCJA: Po pewnym sprawdzeniu faktycznie brakuje niektórych poprzednich łatek. Zaktualizuje później.
źródło
Obecnie mam do czynienia z tym problemem podczas aktualizacji z wersji 1.9.4.1 do 1.9.4.2. Dzięki temu tworzenie zamówień administratora i kasowanie interfejsu użytkownika skutkuje teraz 500 wewnętrznymi błędami serwera bez rejestrowania lub pokazywania błędów.
źródło
po zastosowaniu poprawki Supee-11155 otrzymuję problem z zapisywaniem szablonów międzynarodowych wiadomości e-mail, a następnie się zmieniłem
do
teraz działa dobrze.
źródło