Обновление безопасности SUPEE-7405 - возможные проблемы?


140

Настало время для другого дня исправления, вышла SUPEE-7405 для Magento 1.x, а список исправлений длинный: https://magento.com/security/patches/supee-7405

После опыта работы с последними патчами я должен снова спросить: каковы возможные проблемы при применении патча и что я должен учитывать?

Многие проблемы XSS были исправлены снова, поэтому я ожидаю исправления пользовательских тем вручную. Что-нибудь еще? Есть ли обратные несовместимые изменения?


2
Г.Г. не может обыграть очередной патч
Бобадевв

6
Одна проблема, с которой мы столкнулись сегодня при исправлении нашей версии (EE 1.14.0.1. ...) SUPEE-7405, заставила наш экран подробностей распоряжения администратора быть пустым / сломанным. Очередь «Заказ» видна, но нажатие на любой заказ возвращает страницу с подробной информацией о неработающем заказе. Мы не обнаружили это до тех пор, пока мы не запустили его в производство. - Ожидание ответа от службы поддержки Magento.
Moonman67

6
Также только что обнаружил, что URL нашего SOAP API (/index.php/api/v2_soap/index/?wsdl=1) теперь выдает ошибку 500. Если вы полагаетесь на SOAP, как я ... НЕ устанавливайте патч, пока он не будет решен
Moonman67

4
Файлы, загруженные через панель администратора (т.е. загрузка изображений продуктов), теперь не доступны для чтения по умолчанию (0640). Каталоги также не являются исполняемыми в мире (0750). Это может вызвать проблемы с изображениями, не отображаемыми на веб-сайте, если веб-сервер работает от имени пользователя, отличного от php (то есть php-fpm от имени пользователя, веб-сервер от имени пользователя для статических файлов).
Роб Мангиафико

3
- все предыдущие исправления должны быть применены (и если вы не применили, особенно Shoplift, вы можете предположить, что ваш магазин уже взломан - проверьте на неизвестных администраторов, странный код и т. д.) - страница заказа может быть повреждена в PHP 5.3 - код использует оператор PHP 5.4.
Петр Каминский

Ответы:


157

Обновление от 23 февраля 2016 : патч был обновлен до версии 1.1, в которой исправлен ряд важных проблем, перечисленных в этом посте. Вот список:

  • Патч объединения корзины (SUPEE-7978) : теперь корзины с одинаковыми предметами объединяются корректно. Ранее, когда корзина с одним элементом была объединена с другой корзиной, содержащей этот же элемент, Magento неправильно объединял итоги корзины. В корзину теперь входит только один товар, и общая сумма верна.
  • Обновление SOAP API (SUPEE-7822) : теперь API-интерфейс Magento SOAP работает должным образом . Ранее после установки исправления SUPEE-7405 v1.0 запрос API вызывал бы ошибку 500, и Magento регистрировал исключение.
  • Совместимость с PHP 5.3 (SUPEE-7882) : патч не был совместим с PHP 5.3 для более ранних версий Magento, которые все еще поддерживали эту версию. Продавцы, столкнувшиеся с этой проблемой, не смогли просмотреть информацию о продажах в Admin.
  • Разрешения на загрузку файлов : исправление восстанавливает менее строгие разрешения для файлов (0666 для файлов и 0777 для каталогов), поскольку более строгие разрешения, введенные исходным исправлением SUPEE-7405, приводили к тому, что многие продавцы не могли просматривать загруженные изображения продуктов, в зависимости от конфигурации хостинг-провайдера ,

После изучения патча, я нашел соответствующие / интересные вещи, которые я обнаружил (примечание: этот список был составлен путем анализа патча для CE 1.9.2.0-1.9.2.2, возможно, есть еще патчи, затрагивающие более старые версии Magento) :

  • (исправлено в V1.1 патча) Использование []вместо этого array()в этом патче делает его обратно несовместимым с PHP <5.4 (см. Известные проблемы ниже)
  • Как уже говорилось, большинство изменений - это html-экранирование и очистка данных в отношении проблем XSS.
  • Валидация ключа формы была добавлена к админам входу вMage_Admin_Model_Observer
  • Проверка ключа формы была добавлена администратору забыл пароль вMage_Adminhtml_IndexController
  • Проверка ключа формы была добавлена ​​к паролю сброса администратора вMage_Adminhtml_IndexController
  • Проверка ключа формы была добавлена ​​в действие удаления корзины из внешнего интерфейса . Ключ Форма добавляется к getDeleteUrlо Mage_Checkout_Block_Cart_Item_Rendererи подтверждено в deleteActionо Mage_Checkout_CartController.
  • События теперь отправляются в нижнем регистре (все затронутые файлы конфигурации были изменены, например, controller_action_postdispatch_checkout_onepage_saveOrderстановятся controller_action_postdispatch_checkout_onepage_saveorder). Это не влияет на конфигурацию ваших локальных наблюдателей . Более подробная информация здесь: https://twitter.com/foomanNZ/status/689924329065164800
  • Добавлен новый валидатор для проверки, является ли загруженный файл изображением :Mage_Core_Model_File_Validator_Image
  • Появится новый раздел импорта / экспорта :System => Configuration =>Advanced > System => Escape CSV Fields
  • Новое событие отправлено:admin_user_validate подMage_Admin_Model_User
  • SVG не является допустимым расширением Favicon больше
  • Для тех, кто использует Authorizenet (я не знаю), кажется, что было сделано несколько изменений, хотя я не уверен, как это повлияет на систему. Изменения включают новый помощник администратора ( Mage_Authorizenet_Helper_Admin), используемый для получения URL-адреса заказа успеха.
  • Новый класс Zend:Zend_Xml_Security . Его целью является сканирование строки XML на предмет возможных атак XXE и XEE. Однако я не нашел ссылки на него в других измененных файлах.
  • Файлы, загруженные через панель администратора (т. Е. Загрузка изображений продуктов) , теперь не доступны для чтения по умолчанию (до: 777 / после: 640).
  • Каталоги также не являются исполняемыми в мире (до 755 / после: 750). Эти два могут вызвать проблемы с изображениями, не появляющимися на веб-сайте, если веб-сервер работает от имени другого пользователя, чем php (кредиты: @Rob Mangiafico)
  • Что касается шаблонов веб-интерфейса : единственные сделанные изменения - это экранирование данных , которые не являются нарушителями системы, но все же рекомендуются для реализации в вашей пользовательской теме (и только два файла веб-интерфейса затронули не так много работы;))

Известные проблемы после исправления:

Я постараюсь сохранить этот список как можно более актуальным.

Прежде чем начинать новую проблему / вопрос, убедитесь, что вы применили все предыдущие исправления, так как кажется, что многие проблемы возникают из-за отсутствующих исправлений.

Другое дело: если вы изменили файлы ядра, применение патча может закончиться неудачей. Если у вас есть Hunk # failed atошибка для определенного файла, и вы на 100% уверены, что применили все предыдущие исправления, убедитесь, что у вас есть оригинальный файл из вашей версии Magento, проверив зеркало: https://github.com / OpenMage / Magento-зеркало /

Список затронутых файлов

Его можно найти на этой странице здесь: https://magento.stackexchange.com/a/98232/2380 (кредиты @MagenX)

Только EE

  • Если вы обновили Magento EE 1.14.2.x до Magento EE 1.14.2.3 вместо применения исправления, а также применили исправление поддержки SUPEE-5984 ранее, вам придется повторно применить его снова, поскольку оно не включено в выпуск . => https://magento.stackexchange.com/a/98805/2380

Относительно исправления 7616:

Хорошие ресурсы о патчах Magento

Не стесняйтесь, дайте мне знать, если я что-то упустил.


1
Вы упомянули мою проблему «Возможная проблема при применении 7616 перед применением 7405: SUPEE 7405 - Hunk # 2 Failed at 43» как проблему EE, когда я фактически использую CE.
Лиам Макартур

1
Ты прав, мой плохой, я исправил это.
Рафаэль в Цифровом пианизме

1
События теперь отправляются в нижнем регистре : означает ли это, что мы должны проверить / изменить конфигурацию локальных наблюдателей?
Hellimac

1
@hellimac Я собираюсь протестировать это в следующие пару часов, я обновлю пост, если он повлияет на конфигурацию локальных наблюдателей.
Рафаэль в Цифровом пианизме

5
@hellimac Нет, значения из config.xml также преобразуются в нижний регистр при чтении: twitter.com/foomanNZ/status/689924329065164800
Фабиан Шменглер,

35

Одна проблема, которую я заметил, заключается в том, что если ваш сайт использует версию ниже PHP 5.4, патч не совместим.

В классе Mage_Adminhtml_Helper_Salesоколо строки № 124. Код:

$links = [];

Мне нужно было расширить это, чтобы:

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

        $links = array();

Другая ошибка, с которой я столкнулся, была связана с установленными мной файлами cookie. После того, как я очистил свои куки, все страницы загружались нормально.

Пример ошибки:

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

Я не уверен, сталкивался ли кто-нибудь еще с этими проблемами, но надеюсь, что это помогает!


1
Я видел то же самое в коде, который мы исправили. Патч одновременно исправляет ошибки, специфичные для PHP 5.3, и нарушает совместимость с PHP 5.3.
Джим Охаллоран

На самом деле это не ответ, а просто дополнительная информация: применение патча 7405 к сайту Magento 1.5.1 (да, я знаю ...) было утомительным и, как только «успех» вызывал ошибки внешнего интерфейса, а администратор был полностью недоступен. Сайт сидит на php v5.3.1 - к счастью, я смог восстановить его. У меня есть другая установка v1.9 на php 5.3.3, которую я тестирую ... сейчас не решаюсь очистить кеш
Jon Holland

Можно подтвердить, Mag 1.9.0.1 на php 5.3.3 при попытке просмотреть запись заказа в админке - только белая область содержимого. Предлагаемое изменение устраняет проблему. Хорошее место
Джон Холланд

22

Вот проблема, которую я обнаружил при исправлении Magento CE с SUPEE-7405. Он заменяет строку:

chmod($destinationFile, 0777);

с участием:

chmod($destinationFile, 0640);

в файле lib/Varien/File/Uploader.php

Это привело к тому, что мои изображения перестали отображаться в бэкэнде, поскольку разрешение на доступ к этому файлу на самом деле должно быть 644. Существует ли какая-либо причина, по которой это было установлено на 640?


1
У меня такая же проблема в Magento ver. Изображение 1.7.0.2 может быть успешно загружено, но не отображается в бэкэнде из-за проблем с разрешением. Если я поменяю разрешение с 0640 на 0644, то изображение будет видно, что не является точным решением. Поэтому я думаю, что magento люди должны исправить это или дать любое другое решение для этого.
jyotiranjan.in

Я предполагаю, что apache / nginx должен быть настроен на ту же группу, в которой php-fpm создает образ. Кто-нибудь знает о последствиях такой безопасности?
jzahedieh

Это suPHP, которая вызывает у меня проблему, я думаю! Я отключил его и включил php-cgi вместо этого, что увеличило скорость страницы, но у меня все еще есть проблема с разрешениями. Я не уверен насчет последствий для безопасности, поэтому оставляю все как есть. Я не хочу открывать дыры в безопасности! Я бы лучше отредактировал основной файл!
Лиам Макартур

3
в основном проблема в том, что apache не работает под тем же пользователем, что и php. Изменение разрешения на 640 означает, что файлы больше не доступны для чтения. Вам нужно убедиться, что apache работает от имени того же пользователя, что и php. Это может быть сложно, если ваш работающий cpanel будет подходить так, чтобы группа была настроена как никто, и она chown USERNAME:nobody -R public_html find ./public_html -type d -exec chmod g+s {} \;
стала

Любое решение этого?
Arvind07

21

При подаче заявки на Magento 1.7.0.0 она пытается удалить комментарий 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

это не было добавлено до 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


Я просто добавил эту строку в 1.7.0.0 iframe.phtml, снова запустил патч и добился успеха
Дэнни Z

1
@DannyZ то же самое здесь просто подумал, что я бы лучше где-то это
записал

19

эти файлы пропатчены, вы можете увидеть любое возможное влияние:
template: admin шаблоны в основном пропатчены.

+++ 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

ядро / ЛИЭС:

+++ 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 просто чтобы сохранить все вместе, мы создали несколько "несложных" мультипатчей для исправления многих серверов с несколькими установками magento. multipatch-7405.sh


Приятно! Не могу забыть перезаписать эти файлы тем, чтобы патч .sh мог просто делать свое дело: D
Bobadevv

1
Красиво сделано. Мультипатч - отличная идея; Я просто хотел бы, чтобы Magento выпустил хеш-
коды

это можно упростить, обратившись непосредственно к веб-хранилищу magento, чтобы свернуть все патчи, но у нас были некоторые проблемы с этим. и требуется ввести данные для входа в систему ... magento wtf ...
MagenX

14

Вот мой основной план тестирования:

  • Применить купон
  • Войти в админ
  • Заставить администратора изменить пароль
  • Экспорт CSV
  • Импортировать CSV
  • Сбросить пароль как администратор и клиент
  • Создать заказ в админке
  • Создать и заказать в front-end как гость
  • Создайте и закажите в клиенте как клиент
  • Добавить изображение к продукту
  • Создать кредитовое авизо
  • Создать счет

как именно этот список поможет мне понять ошибки, вызванные этим патчем или это просто у разработчика кривые руки ???
MagenX

@MagenX Я не знаю, что значит у разработчика кривые руки. Но когда я ознакомился с патчем, я составил список вещей, которые могут быть проблематичными.
Брайдео

@MagenX, поэтому после применения патча я бы проверил эти области, извините, если это не помогло.
Брайдео

Ах, базовый набор тестов для проверок после исправления, чтобы убедиться, что вы найдете нужную работу раньше, чем ваши клиенты и сотрудники ... Имеет смысл, так как работает с областями, затронутыми исправленными файлами.
Fiasco Labs

Это был бы хороший (лучше?) Ответ на этот вопрос здесь: magento.stackexchange.com/questions/98565/…
Анна Фёлькл


9

Если вы обновили Magento EE 1.14.2.x до Magento EE 1.14.2.3 вместо применения исправления, а также применили исправление поддержки SUPEE-5984 ранее, вам придется повторно применить его повторно, поскольку оно не включено в выпуск .

Это был патч, который исправил поврежденный индексатор: ошибка индекса после обновления до EE 1.14.2.0: таблица catalog_product_entity_tmp_indexer не существует


8

По состоянию на 23 февраля 2016 года Magento выпустила патч для патча для решения многих из этих проблем: https://magento.com/security/patches/supee-7405

Вам необходимо применить SUPEE_7405_v1, а затем SUPEE_7405_v1.1 по порядку.


8

Снимок экрана для страницы сведений о заказе администратора, если вы видите проблему такого типа, пожалуйста, следуйте инструкциям ниже, она работает для меня!введите описание изображения здесь

Решение

Измените строку 124 в app / code / core / Mage / Adminhtml / Helper / Sales.php из $ links = []; на $ links = array ();


7

Всякий раз, когда мы устанавливаем патч для одного из наших клиентов, мы используем следующий контрольный список:

  • Сделайте полную резервную копию файлов сайта и базы данных.
  • Убедитесь, что все предыдущие исправления были успешно установлены (можно увидеть в app/etc/applied.patches.listфайле)
  • После успешной установки патча очистите кеш и сделайте тестовый заказ, чтобы убедиться, что все работает.

Я думаю, это действительно все, что нужно сделать. Патчи предназначены для быстрой и легкой установки. 9 из 10 раз они установятся отлично, а в остальное время у нас есть резервные копии. Пока вы не возитесь с основными файлами, все должно быть в порядке.


файл, вероятно,app/etc/applied.patches.list
MagenX

3
Я не чувствую, что это отвечает на вопрос. ОП ссылается на SUPEE-6788, который требовал тонны ручной работы в сторонних расширениях, а не на том, как применять патч.
Робби Аверилл

ОП имеет в виду SUPEE-6788 Робби, а не 6788.
Гэри Олдерман

Извините, чтобы прояснить вопрос, очевидно, о 7405, но его спрашивают в свете кошмара, который был 6788 - это контекст
Робби Аверилл

6

здесь затронуты файлы для 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

5

После применения SUPEE-7405 на Magento 1.14.1.0 я получил ошибку:

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

Проблема была вызвана повторно объявленным методом _validateControllerInstance в

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

После удаления второго (того же) объявления функции проблема была решена.


5

Я получил следующую ошибку после установки патча SUPEE-7405 при попытке войти в систему с правами администратора.

Неустранимая ошибка: вызов неопределенного метода Mage_Core_Controller_Response_Http :: sendHeadersAndExit () в
\ app \ code \ core \ Mage \ Admin \ Model \ Session.php в строке 135

потому что у меня был этот файл переопределен в локальном пуле кода, у которого нет sendHeadersAndExit метода, созданного этим патчем.

\app\code\local\Mage\Core\Controller\Response\Http.php Следующий метод не существует. (Это новый метод, добавленный в основной файл)

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

После добавления этого к переопределенному файлу проблема исчезла.


3

Одна из проблем, с которой я столкнулся при использовании SUPEE-7405, - это ошибки загрузки изображений.

Поэтому я проверяю изменения в этом файле: lib / Varien / File / Uploader.php

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

Затем я обнаружил два способа преодоления этого:

Опция 1:

Я выполняю ручное изменение файла lib / Varien / File / Uploader.php, чтобы настроить разрешения 0640/0750.

Вариант 2: поскольку Magento ожидает, что веб-сервер будет владельцем файлов сайта:

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

Другой способ решения проблемы - сделать веб-сервер владельцем файлов.

chown -R web-сервер-имя-пользователя magento / root / path

Имя пользователя веб-сервера обычно www-data или apache.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.