Poprawka bezpieczeństwa SUPEE-7405 - Możliwe problemy?

140

Nadszedł czas na kolejny dzień aktualizacji, SUPEE-7405 dla Magento 1.x jest niedostępny, a lista poprawek jest długa: https://magento.com/security/patches/supee-7405

Po doświadczeniu z ostatnimi łatkami muszę jeszcze raz zapytać: jakie są możliwe problemy przy stosowaniu łatki i co muszę wziąć pod uwagę?

Wiele problemów XSS zostało naprawionych ponownie, więc spodziewam się, że ręcznie dostosuję niestandardowe motywy. Coś jeszcze? Czy są zmiany niezgodne wstecz?

Fabian Schmengler
źródło
2
GG nie może pokonać kolejnego patcha
Bobadevv,
6
Jeden problem, który napotkaliśmy dzisiaj podczas łatania naszej wersji (EE 1.14.0.1. ...) SUPEE-7405 spowodował, że ekran Szczegóły zamówienia administratora był pusty / uszkodzony. Kolejka zamówień jest widoczna, ale kliknięcie dowolnego zamówienia powoduje zwrócenie strony szczegółów zamówienia zepsutego. Nie odkryliśmy tego, dopóki nie wprowadziliśmy go do produkcji. - Oczekiwanie na odpowiedź Wsparcia Magento.
Moonman67
6
Właśnie odkryłem, że nasz URL API SOAP (/index.php/api/v2_soap/index/?wsdl=1) generuje teraz błąd 500. Jeśli polegasz na SOAP tak jak ja ... NIE instaluj łaty, dopóki nie zostanie to rozwiązane
Moonman67
4
Pliki przesłane za pomocą panelu administracyjnego (tj. Wgrywanie obrazu produktu) nie są teraz domyślnie dostępne do odczytu na całym świecie (0640). Katalogi również nie są wykonywalne na całym świecie (0750). Może to powodować problemy z obrazami, które nie pojawiają się na stronie, jeśli serwer działa jako inny użytkownik niż php (tj. Php-fpm jako użytkownik, serwer WWW jako nikt dla plików statycznych).
Rob Mangiafico
3
- wszystkie wcześniejsze łaty muszą zostać zastosowane (a jeśli nie zostały zastosowane, zwłaszcza Shoplift, możesz założyć, że twój sklep jest już zhakowany - sprawdź, czy nie ma nieznanych administratorów, dziwnego kodu itp.) - strona zamówienia może być uszkodzona w PHP 5.3 - kod używa instrukcji PHP 5.4.
Piotr Kamiński

Odpowiedzi:

156

Aktualizacja z 23 lutego 2016 r . : Aktualizacja została zaktualizowana do wersji 1.1, która naprawia szereg ważnych problemów wymienionych w tym poście, oto lista:

  • Poprawka do łączenia koszyków (SUPEE-7978) : Wózki z identycznymi przedmiotami łączą się teraz poprawnie. Wcześniej, kiedy koszyk z jednym przedmiotem był łączony z innym koszykiem, który zawierał ten sam przedmiot, Magento nie scalał poprawnie sum koszyka. Koszyk zawiera teraz tylko jeden przedmiot, a suma jest poprawna.
  • Poprawka API SOAP (SUPEE-7822) : API SOAP Magento działa teraz zgodnie z oczekiwaniami. Wcześniej po zainstalowaniu poprawki SUPEE-7405 v1.0 żądanie API powodowało błąd 500, a Magento rejestrował wyjątek.
  • Kompatybilność z PHP 5.3 (SUPEE-7882) : Łata nie była kompatybilna z PHP 5.3 dla wcześniejszych wersji Magento, które nadal obsługiwały tę wersję. Sprzedawcy doświadczający tego problemu nie mogli wyświetlić informacji o sprzedaży w Administratorze.
  • Prześlij uprawnienia do plików : Łatka przywraca mniej restrykcyjne uprawnienia do plików (0666 dla plików i 0777 dla katalogów), ponieważ bardziej rygorystyczne uprawnienia wprowadzone przez oryginalną łatkę SUPEE-7405 spowodowały, że wielu sprzedawców nie mogło wyświetlić przesłanych zdjęć produktów, w zależności od konfiguracji dostawcy hostingu .

Po zagłębieniu się w łatkę, oto odpowiednie / interesujące rzeczy, które znalazłem (NB: ta lista została stworzona przez analizę łatki dla CE 1.9.2.0-1.9.2.2, prawdopodobnie jest więcej dla poprawek wpływających na starsze wersje Magento) :

  • (naprawiony w wersji 1.1 łatki) Użycie []zamiast array()tej łatki powoduje, że jest ona wstecznie niezgodna z PHP <5.4 (zobacz znane problemy poniżej)
  • Jak już wspomniano, większość zmian polega na ucieczce HTML i dezynfekcji danych w związku z problemami XSS.
  • Sprawdzanie poprawności klucza formularza zostało dodane do logowania administratora wMage_Admin_Model_Observer
  • Sprawdzanie poprawności klucza formularza zostało dodane do administratora zapomniałem hasła wMage_Adminhtml_IndexController
  • Sprawdzanie poprawności klucza formularza zostało dodane do hasła resetowania administratora wMage_Adminhtml_IndexController
  • Sprawdzanie poprawności klucza formularza zostało dodane do operacji usuwania koszyka frontonu . Kluczem forma jest dodawany do getDeleteUrlz Mage_Checkout_Block_Cart_Item_Rendereroraz potwierdzone w deleteActionz Mage_Checkout_CartController.
  • Zdarzenia są teraz wywoływane małymi literami (wszystkie pliki konfiguracyjne, których to dotyczy, zostały zmodyfikowane np. controller_action_postdispatch_checkout_onepage_saveOrderStają się controller_action_postdispatch_checkout_onepage_saveorder). Nie wpływa to na konfigurację lokalnych obserwatorów . Więcej informacji tutaj: https://twitter.com/foomanNZ/status/689924329065164800
  • Dodano nowy walidator, aby sprawdzić, czy przesłany plik jest obrazem :Mage_Core_Model_File_Validator_Image
  • Pojawi się nowa sekcja Import / Export :System => Configuration =>Advanced > System => Escape CSV Fields
  • Nowe wydarzenie wysłane:admin_user_validate underMage_Admin_Model_User
  • SVG nie jest poprawnym rozszerzeniem favicon już
  • Dla tych, którzy używają Authorizenet (nie mam), wydaje się, że wprowadzono kilka zmian, ale nie jestem pewien, jak wpłynie to na system. Zmiany obejmują nowego pomocnika administratora ( Mage_Authorizenet_Helper_Admin) używanego do uzyskania adresu URL zamówienia.
  • Nowa klasa Zend:Zend_Xml_Security . Jego celem jest skanowanie łańcucha XML pod kątem potencjalnych ataków XXE i XEE. Jednak nie znalazłem żadnego odniesienia do tego w innych zmodyfikowanych plikach.
  • Pliki przesłane za pomocą panelu administracyjnego (tj. Wgrywanie obrazu produktu) nie są teraz domyślnie dostępne do odczytu na całym świecie (przed: 777 / po: 640).
  • Katalogi również nie są wykonywalne na całym świecie (przed 755 / po: 750). Te dwa mogą powodować problemy z obrazami, które nie pojawiają się na stronie, jeśli serwer działa jako inny użytkownik niż php (kredyty: @Rob Mangiafico)
  • W odniesieniu do szablonów interfejsu użytkownika : jedynymi wprowadzonymi modyfikacjami są zmiany znaczenia danych , które nie są łamaczami systemu, ale nadal zaleca się ich implementację w niestandardowym motywie (i dotyczy to tylko dwóch plików interfejsu użytkownika, które nie wymagają tak dużej pracy;))

Znane problemy po łataniu:

Spróbuję utrzymać tę listę tak aktualną, jak to możliwe.

Przed rozpoczęciem nowego wydania / pytania upewnij się, że zastosowałeś wszystkie poprzednie łaty, ponieważ wydaje się, że wiele problemów wynika z brakujących łatek.

Kolejna sprawa: jeśli zmodyfikowałeś podstawowe pliki, zastosowanie poprawki może się nie powieść. Jeśli masz Hunk # failed atbłąd dotyczący konkretnego pliku i masz 100% pewność, że zastosowałeś wszystkie poprzednie łaty, upewnij się, że masz oryginalny plik z wersji Magento, sprawdzając kopię lustrzaną: https://github.com / OpenMage / magento-mirror /

Lista dotkniętych plików

Można go znaleźć na tej stronie tutaj: https://magento.stackexchange.com/a/98232/2380 (kredyty @MagenX)

Tylko EE

  • Jeśli zaktualizowałeś wersję Magento EE 1.14.2.x do Magento EE 1.14.2.3 zamiast zastosować łatkę, a także zastosowałeś wcześniej łatkę pomocniczą SUPEE-5984 , musisz ją ponownie zainstalować , ponieważ nie jest ona uwzględniona w tej wersji . => https://magento.stackexchange.com/a/98805/2380

Odnośnie do łatki 7616:

Dobre zasoby na temat łatek Magento

Daj mi znać, jeśli coś przegapię.

Raphael at Digital Pianism
źródło
1
Wspomniałeś o moim problemie „Możliwy problem podczas stosowania 7616 przed zastosowaniem 7405: SUPEE 7405 - Hunk # 2 Failed at 43” jako problem EE, kiedy faktycznie używam CE.
Liam McArthur,
1
Masz rację, mój zły, naprawiłem to.
Raphael at Digital Pianism
1
Zdarzenia są teraz wysyłane małymi literami : Czy to oznacza, że ​​musimy sprawdzić / zmienić konfigurację lokalnych obserwatorów?
hellimac
1
@hellimac Mam zamiar przetestować to w ciągu kilku następnych godzin, zaktualizuję post, jeśli wpłynie to na konfigurację lokalnych obserwatorów.
Raphael w Digital Pianism
5
@hellimac Nie, wartości z config.xml są również konwertowane na małe litery, gdy czytane: twitter.com/foomanNZ/status/689924329065164800
Fabian Schmengler
34

Zauważyłem jeden problem: jeśli twoja strona używa wersji mniejszej niż PHP 5.4, łatka nie jest kompatybilna.

W klasie Mage_Adminhtml_Helper_Saleswokół linii nr 124. Kod to:

$links = [];

Musiałem to rozszerzyć, aby:

        // Patch not compatible with PHP version 5.3: overwrote Magento patch update

        $links = array();

Kolejny błąd, na jaki natrafiłem, dotyczył plików cookie, które ustawiłem. Po wyczyszczeniu plików cookie wszystkie strony ładowały się poprawnie.

Przykładowy błąd:

Notice: unserialize() [function.unserialize]: Error at offset 0 of 13 bytes  in `/var/www/website/app/code/core/Mage/Core/Helper/Cookie.php` on line 83

Nie jestem pewien, czy ktoś napotkał te problemy, ale mam nadzieję, że to pomoże!

Dazari
źródło
1
Widziałem to samo w kodzie, który załataliśmy. Łatka jednocześnie naprawia błędy specyficzne dla PHP 5.3 i przerywa zgodność z PHP 5.3.
Jim OHalloran
Naprawdę nie odpowiedź, tylko więcej informacji: zastosowanie łatki 7405 na stronie Magento 1.5.1 (tak, wiem ...) było uciążliwe i kiedyś „udane” spowodowało błędy frontonu, a administrator był całkowicie niedostępny. Strona znajduje się na php v5.3.1 - na szczęście mogę ją przywrócić. Mam kolejną instalację v1.9 na php 5.3.3, którą testuję ... waham się czy wyczyścić pamięć podręczną
Jon Holland
Potwierdza, Mag 1.9.0.1 na php 5.3.3 próbuje wyświetlić rekord zamówienia w adminie jest tylko białym obszarem zawartości. Sugerowana zmiana rozwiązuje problem. Dobre miejsce.
Jon Holland
22

Oto problem, który znalazłem podczas łatania Magento CE za pomocą SUPEE-7405. Zastępuje wiersz:

chmod($destinationFile, 0777);

z:

chmod($destinationFile, 0640);

w pliku lib/Varien/File/Uploader.php

To zatrzymało wyświetlanie moich obrazów w zapleczu, ponieważ to uprawnienie do pliku powinno w rzeczywistości wynosić 644. Czy jest jakiś powód, dla którego ustawiono 640?

Liam McArthur
źródło
1
Mam ten sam problem w Magento ver. Obraz 1.7.0.2 może zostać przesłany pomyślnie, ale nie wyświetla się w backendie z powodu problemów z pozwoleniem. Jeśli zmienię uprawnienia 0640 na 0644, wtedy obraz będzie widoczny, co nie jest dokładnym rozwiązaniem. Sądzę więc, że ludzie z Magento muszą to naprawić lub podać inne rozwiązanie tego problemu.
jyotiranjan.in
Zakładam, że apache / nginx powinien być skonfigurowany tak, aby należeć do tej samej grupy, w której php-fpm tworzy obraz, czy ktoś zna tego konsekwencje dla bezpieczeństwa?
jzahedieh
Myślę, że to suPHP sprawia mi problem! Wyłączyłem go i włączyłem php-cgi, co zwiększyło szybkość strony, ale nadal mam problem z uprawnieniami. Nie jestem pewien co do konsekwencji dla bezpieczeństwa, więc zostawiam. Nie chcę otwierać żadnych luk bezpieczeństwa! Wolę edytować główny plik!
Liam McArthur
3
w zasadzie problem polega na tym, że apache nie działa jako ten sam użytkownik co php. Zmiana uprawnień na 640 oznacza, że ​​pliki nie są już dostępne do odczytu na całym świecie. Musisz upewnić się, że apache działa jako ten sam użytkownik co php. Może to być trudne, jeśli Twój działający panel jest dobrym podejściem, ustawiając grupę jako nikogo i czyniąc to lepkim, np .:chown USERNAME:nobody -R public_html find ./public_html -type d -exec chmod g+s {} \;
rob3000 29.01.2016
Jakieś rozwiązanie tego?
Arvind07
21

Ubiegając się o Magento 1.7.0.0 próbuje usunąć komentarz app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

-/* @var $_helper Mage_Authorizenet_Helper_Data */

1.7.0.0 - https://raw.githubusercontent.com/OpenMage/magento-mirror/1.7.0.0/app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

które zostało dodane dopiero 1.7.0.1 https://raw.githubusercontent.com/OpenMage/magento-mirror/1.7.0.1/app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

rob3000
źródło
Właśnie dodałem tę linię w pliku iframe.phtml w wersji 1.7.0.0, ponownie uruchomiłem łatkę i udało się
Danny Z
1
@DannyZ to samo, pomyślałem, że powinienem to gdzieś zanotować :)
rob3000,
19

te pliki załatane, można zobaczyć każdy możliwy wpływ:
szablon: szablony administracyjne w większości załatane.

+++ app/design/frontend/base/default/template/rss/order/details.phtml
+++ app/design/frontend/base/default/template/catalog/product/view/options/type/file.phtml
+++ app/design/adminhtml/default/default/template/sales/order/view/info.phtml
+++ app/design/adminhtml/default/default/template/sales/order/totals/discount.phtml
+++ app/design/adminhtml/default/default/template/sales/items/renderer/default.phtml
+++ app/design/adminhtml/default/default/template/sales/items/column/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/invoice/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/creditmemo/name.phtml
+++ app/design/adminhtml/default/default/template/catalog/product/composite/fieldset/options/type/file.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/shipment/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/shipment/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/order/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/invoice/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/invoice/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/creditmemo/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/creditmemo/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

core / libs:

+++ lib/Varien/Io/File.php
+++ lib/Varien/File/Uploader.php
+++ app/code/core/Zend/Xml/Security.php
+++ app/code/core/Mage/Sales/Model/Quote/Item.php
+++ app/code/core/Mage/Sales/Model/Quote/Address.php
+++ app/code/core/Mage/Sales/Helper/Guest.php
+++ app/code/core/Mage/Rss/Helper/Order.php
+++ app/code/core/Mage/Rss/Block/Catalog/Salesrule.php
+++ app/code/core/Mage/Review/controllers/ProductController.php
+++ app/code/core/Mage/Paypal/controllers/PayflowadvancedController.php
+++ app/code/core/Mage/Paypal/controllers/PayflowController.php
+++ app/code/core/Mage/Newsletter/Model/Queue.php
+++ app/code/core/Mage/Newsletter/Model/Observer.php
+++ app/code/core/Mage/ImportExport/Model/Import/Entity/Abstract.php
+++ app/code/core/Mage/ImportExport/Model/Export/Adapter/Csv.php
+++ app/code/core/Mage/ImportExport/Model/Export/Adapter/Abstract.php
+++ app/code/core/Mage/Downloadable/controllers/CustomerController.php
+++ app/code/core/Mage/Dataflow/Model/Convert/Parser/Csv.php
+++ app/code/core/Mage/Customer/controllers/AccountController.php
+++ app/code/core/Mage/Core/Model/Session.php
+++ app/code/core/Mage/Core/Model/Input/Filter/MaliciousCode.php
+++ app/code/core/Mage/Core/Model/File/Validator/Image.php
+++ app/code/core/Mage/Core/Model/Email/Template/Filter.php
+++ app/code/core/Mage/Core/Model/Email/Queue.php
+++ app/code/core/Mage/Core/Model/Config.php
+++ app/code/core/Mage/Core/Model/App.php
+++ app/code/core/Mage/Core/Helper/Data.php
+++ app/code/core/Mage/Checkout/controllers/OnepageController.php
+++ app/code/core/Mage/Checkout/controllers/CartController.php
+++ app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php
+++ app/code/core/Mage/CatalogInventory/Helper/Minsaleqty.php
+++ app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
+++ app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Image.php
+++ app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Select.php
+++ app/code/core/Mage/Authorizenet/controllers/Adminhtml/Authorizenet/Directpost/PaymentController.php
+++ app/code/core/Mage/Authorizenet/Helper/Data.php
+++ app/code/core/Mage/Authorizenet/Helper/Admin.php
+++ app/code/core/Mage/Adminhtml/controllers/IndexController.php
+++ app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image/Favicon.php
+++ app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image.php
+++ app/code/core/Mage/Adminhtml/Model/System/Config/Backend/File.php
+++ app/code/core/Mage/Adminhtml/Helper/Sales.php
+++ app/code/core/Mage/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
+++ app/code/core/Mage/Adminhtml/Block/Widget/Grid.php
+++ app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Tab/History.php
+++ app/code/core/Mage/Admin/Model/User.php
+++ app/code/core/Mage/Admin/Model/Resource/User.php
+++ app/code/core/Mage/Admin/Model/Redirectpolicy.php
+++ app/code/core/Mage/Admin/Model/Observer.php

================================================== ======================= ps tylko utrzymać wszystko razem, stworzyliśmy trochę „nie myślenia” multipatch załatać wiele serwerów z wielu instalacji Magento. multipatch-7405.sh

MagenX
źródło
Miły! Nie pamiętam, aby nadpisać te pliki motywów, więc łatka .sh może po prostu to zrobić: D
Bobadevv,
1
Ładnie wykonane. Wielozadaniowość to świetny pomysł; Chciałbym tylko, żeby Magento wydało skróty SHA1 dla swoich łatek, abyśmy mogli sprawdzić, czy pasują do źródeł zewnętrznych
philwinkle
można to uprościć, uzyskując bezpośredni dostęp do repozytorium internetowego magento, aby zawinąć wszystkie łatki, ale mieliśmy z tym pewne problemy. i wymagane było podanie danych do logowania ... magento wtf ...
MagenX 21.01.16
14

Oto mój podstawowy plan testów:

  • Zastosuj kupon
  • Zaloguj się do administratora
  • Zmuś administratora do zmiany hasła
  • Wyeksportuj plik CSV
  • Zaimportuj plik CSV
  • Zresetuj hasło jako administrator i klient
  • Utwórz zamówienie w admin
  • Twórz i zamawiaj w interfejsie jako gość
  • Twórz i zamawiaj w interfejsie jako klient
  • Dodaj zdjęcie do produktu
  • Utwórz notę ​​kredytową
  • Utwórz fakturę
Brideo
źródło
jak dokładnie ta lista pomoże mi zrozumieć błędy spowodowane przez tę łatkę, czy to tylko programista ma zakrzywione ręce?
MagenX,
@MagenX Nie wiem, co programista ma zakrzywione ręce. Ale kiedy zmieniłem łatkę, sporządziłem listę rzeczy, które mogą być problematyczne.
Brideo
@MagenX, więc po zastosowaniu łatki sprawdziłbym te obszary, przepraszam, jeśli to nie pomogło.
Brideo
Ach, podstawowy zestaw testów do sprawdzania poprawek, aby upewnić się, że znajdziesz ouch, zanim zrobią to klienci i pracownicy ... Ma to sens, ponieważ wykonuje obszary dotknięte łatanymi plikami.
Fiasco Labs
To byłaby miła (lepsza?) Odpowiedź na to pytanie tutaj: magento.stackexchange.com/questions/98565/…
Anna Völkl
9

Jeśli zaktualizowałeś wersję Magento EE 1.14.2.x do Magento EE 1.14.2.3 zamiast zastosować łatkę, a także zastosowałeś wcześniej łatkę pomocniczą SUPEE-5984 , musisz ją ponownie zainstalować , ponieważ nie jest ona uwzględniona w tej wersji .

To była łatka, która naprawiała uszkodzony indeksator: Błąd indeksu po aktualizacji do EE 1.14.2.0: tabela katalog_produktu_produktu_tekstu_indeksu nie istnieje

Fabian Schmengler
źródło
8

Zrzut ekranu strony ze szczegółami zamówienia administratora, jeśli pokazuje ten problem, wykonaj poniższe instrukcje, które działają dla mnie !!wprowadź opis zdjęcia tutaj

Rozwiązanie

Zmień wiersz 124 w app / code / core / Mage / Adminhtml / Helper / Sales.php z $ links = []; na $ links = array ();

Randhir Yadav
źródło
7

Ilekroć instalujemy łatkę dla jednego z naszych klientów, korzystamy z następującej listy kontrolnej:

  • Wykonaj pełną kopię zapasową plików witryny i bazy danych.
  • Upewnij się, że wszystkie poprzednie łatki zostały pomyślnie zainstalowane (można zobaczyć w app/etc/applied.patches.listpliku)
  • Po udanej instalacji łatki wyczyść pamięć podręczną i wykonaj test, aby upewnić się, że wszystko działa.

Myślę, że to naprawdę wszystko. Łaty są zaprojektowane tak, aby były instalowane szybko i bez żadnych problemów. 9 na 10 razy zainstalują się idealnie, a innym razem mamy kopie zapasowe. Tak długo, jak nie masz bałaganu w podstawowych plikach, wszystko powinno być w porządku.

Gary Olderman
źródło
plik prawdopodobnieapp/etc/applied.patches.list
MagenX
3
Nie wydaje mi się, żeby to odpowiadało na pytanie. OP odnosi się do SUPEE-6788, który wymagał tony ręcznej pracy przy rozszerzeniach stron trzecich, a nie jak nakładać łatkę.
Robbie Averill,
OP odnosi się do SUPEE-6788 Robbie, a nie 6788.
Gary Olderman
Przepraszam, że wyjaśnienie pytania dotyczy oczywiście 7405, ale zadaje się je w świetle koszmaru, który wynosił 6788 - to kontekst
Robbie Averill
6

dotyczy to plików Magento EE

> -e 2016-02-11 03:14:54 UTC | SUPEE-7405-EE-1-14-2-2 | EE_1.14.2.2 | v1 | 91465c744a824111902e2911fd63fd8cb6c32f05 | Tue Jan 19 14:27:03 2016 +0200 | e1fc3c59c9..91465c744a
patching file app/code/core/Enterprise/Checkout/Block/Adminhtml/Manage/Form/Coupon.php
patching file app/code/core/Enterprise/GoogleAnalyticsUniversal/Block/Ga.php
patching file app/code/core/Enterprise/PageCache/etc/config.xml
patching file app/code/core/Enterprise/Pbridge/etc/config.xml
patching file app/code/core/Enterprise/Pci/Model/Observer.php
patching file app/code/core/Enterprise/Pci/Model/Resource/Admin/User.php
patching file app/code/core/Enterprise/Pci/etc/config.xml
patching file app/code/core/Enterprise/Persistent/etc/config.xml
patching file app/code/core/Enterprise/SalesArchive/etc/config.xml
patching file app/code/core/Enterprise/WebsiteRestriction/etc/config.xml
patching file app/code/core/Mage/Admin/Model/Observer.php
patching file app/code/core/Mage/Admin/Model/Redirectpolicy.php
patching file app/code/core/Mage/Admin/Model/Resource/User.php
patching file app/code/core/Mage/Admin/Model/User.php
patching file app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Tab/History.php
patching file app/code/core/Mage/Adminhtml/Block/Widget/Grid.php
patching file app/code/core/Mage/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
patching file app/code/core/Mage/Adminhtml/Helper/Sales.php
patching file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/File.php
patching file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image.php
patching file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image/Favicon.php
patching file app/code/core/Mage/Adminhtml/controllers/IndexController.php
patching file app/code/core/Mage/Authorizenet/Helper/Admin.php
patching file app/code/core/Mage/Authorizenet/Helper/Data.php
patching file app/code/core/Mage/Authorizenet/controllers/Adminhtml/Authorizenet/Directpost/PaymentController.php
patching file app/code/core/Mage/Captcha/etc/config.xml
patching file app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Select.php
patching file app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Image.php
patching file app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
patching file app/code/core/Mage/CatalogIndex/etc/config.xml
patching file app/code/core/Mage/CatalogInventory/Helper/Minsaleqty.php
patching file app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php
patching file app/code/core/Mage/Checkout/controllers/CartController.php
patching file app/code/core/Mage/Checkout/controllers/OnepageController.php
patching file app/code/core/Mage/Core/Helper/Data.php
patching file app/code/core/Mage/Core/Model/App.php
patching file app/code/core/Mage/Core/Model/Config.php
patching file app/code/core/Mage/Core/Model/Email/Queue.php
patching file app/code/core/Mage/Core/Model/Email/Template/Filter.php
patching file app/code/core/Mage/Core/Model/File/Validator/Image.php
patching file app/code/core/Mage/Core/Model/Input/Filter/MaliciousCode.php
patching file app/code/core/Mage/Core/Model/Session.php
patching file app/code/core/Mage/Customer/controllers/AccountController.php
patching file app/code/core/Mage/Dataflow/Model/Convert/Parser/Csv.php
patching file app/code/core/Mage/Downloadable/controllers/CustomerController.php
patching file app/code/core/Mage/ImportExport/Model/Export/Adapter/Abstract.php
patching file app/code/core/Mage/ImportExport/Model/Export/Adapter/Csv.php
patching file app/code/core/Mage/ImportExport/Model/Import/Entity/Abstract.php
patching file app/code/core/Mage/ImportExport/etc/config.xml
patching file app/code/core/Mage/ImportExport/etc/system.xml
patching file app/code/core/Mage/Newsletter/Model/Observer.php
patching file app/code/core/Mage/Newsletter/Model/Queue.php
patching file app/code/core/Mage/Page/etc/system.xml
patching file app/code/core/Mage/Paypal/controllers/PayflowController.php
patching file app/code/core/Mage/Paypal/controllers/PayflowadvancedController.php
patching file app/code/core/Mage/Paypal/etc/config.xml
patching file app/code/core/Mage/Persistent/etc/config.xml
patching file app/code/core/Mage/Review/controllers/ProductController.php
patching file app/code/core/Mage/Rss/Block/Catalog/Salesrule.php
patching file app/code/core/Mage/Rss/Helper/Order.php
patching file app/code/core/Mage/Sales/Helper/Guest.php
patching file app/code/core/Mage/Sales/Model/Quote/Address.php
patching file app/code/core/Mage/Sales/Model/Quote/Item.php
patching file app/code/core/Zend/Xml/Security.php
patching file app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/creditmemo/create/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/creditmemo/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/invoice/create/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/invoice/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/order/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/shipment/create/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/shipment/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/catalog/product/composite/fieldset/options/type/file.phtml
patching file app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/creditmemo/name.phtml
patching file app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/invoice/name.phtml
patching file app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/name.phtml
patching file app/design/adminhtml/default/default/template/enterprise/checkout/form/coupon.phtml
patching file app/design/adminhtml/default/default/template/sales/items/column/name.phtml
patching file app/design/adminhtml/default/default/template/sales/items/renderer/default.phtml
patching file app/design/adminhtml/default/default/template/sales/order/totals/discount.phtml
patching file app/design/adminhtml/default/default/template/sales/order/view/info.phtml
patching file app/design/frontend/base/default/template/catalog/product/view/options/type/file.phtml
patching file app/design/frontend/base/default/template/rss/order/details.phtml
patching file lib/Varien/File/Uploader.php
patching file lib/Varien/Io/File.php
Ansyori
źródło
5

Po zastosowaniu SUPEE-7405 na Magento 1.14.1.0 dostałem błąd:

Fatal error: Cannot redeclare Mage_Core_Controller_Varien_Router_Admin::_validateControllerInstance() in app/code/core/Mage/Core/Controller/Varien/Router/Admin.php on line 173

Problem został spowodowany przez ponownie zadeklarowaną metodę _validateControllerInstance w

app/code/core/Mage/Core/Controller/Varien/Router/Admin.php on line 173

Po usunięciu drugiej (tej samej) deklaracji funkcji problem został rozwiązany.

vladPavlov
źródło
5

Podczas instalowania poprawki SUPEE-7405 wystąpił błąd podczas próby zalogowania się do administratora.

Błąd krytyczny: wywołanie niezdefiniowanej metody Mage_Core_Controller_Response_Http :: sendHeadersAndExit () w
\ app \ code \ core \ Mage \ Admin \ Model \ Session.php w linii 135

ponieważ plik ten został przesłonięty w lokalnej puli kodów, która nie ma sendHeadersAndExit metody utworzonej przez tę poprawkę.

\app\code\local\Mage\Core\Controller\Response\Http.php następująca metoda nie istnieje. (Jest to nowa metoda dodana do pliku podstawowego)

  /**
     * Method send already collected headers and exit from script
     */
    public function sendHeadersAndExit()
    {
        $this->sendHeaders();
        exit;
    }

Po dodaniu tego do przesłoniętego pliku problem zniknął.

Mukesh
źródło
3

Jednym z problemów, które wystąpiły podczas korzystania z SUPEE-7405, są błędy przesyłania obrazu

Dlatego sprawdzam zmiany w tym pliku: lib / Varien / File / Uploader.php

diff --git lib / Varien / File / Uploader.php lib / Varien / File / Uploader.php
---
---
- chmod ($ destinationFile, 0777);
+ chmod ($ destinationFile, 0640);
---
---
- if (! (@ is_dir ($ destinationFolder) || @ @mkdir ($ destinationFolder, 0777, true))) {
+ if (! (@ is_dir ($ destinationFolder) || @ @mkdir ($ destinationFolder, 0750, true))) {

Potem znalazłem dwa sposoby na pokonanie tego:

Opcja 1:

Wykonuję ręczną zmianę pliku lib / Varien / File / Uploader.php, aby dostosować uprawnienia 0640/0750.

Opcja 2: Ponieważ Magento oczekuje, że serwer będzie właścicielem plików strony:

http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html#privs-after

Innym sposobem rozwiązania tego problemu jest uczynienie z serwera właściciela plików

chown -R web-server-name-user-magento / root / path

Nazwą użytkownika serwera WWW jest zwykle www-data lub apache.

Jameslj
źródło