Патч безпеки SUPEE-7405 - можливі проблеми?


140

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

Після досвіду роботи з останніми патчами, я знову повинен запитати: які можливі проблеми при застосуванні патчу і що мені потрібно врахувати?

Багато проблем із XSS було виправлено знову, тому я очікую виправлення власних тем уручну. Ще щось? Чи існують відсталі несумісні зміни?


2
GG cant бив ще один патч
Бобадєвв

6
Одна з проблем, з якою ми зіткнулися сьогодні під час виправлення нашої версії (EE 1.14.0.1. ...) SUPEE-7405 спричинив, що на екрані "Деталі замовлення адміністратора" порожній / зламаний. Черга замовлення видно, але натискання будь-якого замовлення повертає розбиту сторінку деталей замовлення. Ми не виявили цього лише після того, як перетворили його на виробництво. - Очікування відповіді від Magento Support.
Moonman67

6
Також щойно виявлена ​​наша URL-адреса API SOAP (/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.
Пьотр Камінський

Відповіді:


156

23 лютого 2016 р. Оновлення : патч було оновлено до V1.1, що виправляє ряд важливих проблем, перелічених у цій публікації, ось список:

  • Патч злиття кошика (SUPEE-7978) : Візки з однаковими предметами тепер правильно зливаються. Раніше, коли кошик з одним предметом було об'єднано з іншим кошиком, який містив той самий товар, Magento неправильно об'єднав підсумки кошика. Кошик тепер включає лише один предмет, а загальна сума є правильною.
  • Патч API SOAP (SUPEE-7822) : API Magento SOAP тепер працює як очікувалося. Раніше після встановлення патчу SUPEE-7405 v1.0 запит API спричинив помилку 500, і Magento записав би виняток.
  • Сумісність PHP 5.3 (SUPEE-7882) : патч не був сумісний з PHP 5.3 для більш ранніх версій Magento, які ще підтримували цю версію. Торговці, які стикалися з цією проблемою, не змогли переглянути інформацію про продажі в адміністраторі.
  • Дозвіл на завантаження файлу : патч відновлює менш обмежувальні права доступу до файлів (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)
  • Що стосується шаблонів frontend : єдині внесені зміни - це виведення даних , які не є системними вимикачами, але все ж рекомендується реалізувати на вашій спеціальній темі (а лише два файли frontend впливають не на велику роботу;))

Відомі проблеми після виправлення:

Я спробую тримати цей список якомога актуальнішим.

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

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

Список файлів, на які впливає вплив

Його можна знайти на цій сторінці тут: 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 Не вдалося отримати 43" як проблема EE, коли я фактично використовую CE.
Ліам МакАртюр

1
Ти маєш рацію, моя погана, я це виправив.
Рафаель у Digital Pianism

1
Події зараз розсилаються у нижньому регістрі . Чи означає це, що ми повинні перевірити / змінити конфігурацію місцевих спостерігачів?
пекла

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

5
@hellimac Ні, значення config.xml також перетворюються на малі
регістри

34

Я помітив одну з проблем: якщо ваш сайт використовує версію, меншу ніж PHP 5.4, патч не сумісний.

У класі Mage_Adminhtml_Helper_Salesнавколо рядка № 124. Код:

$links = [];

Мені потрібно було продовжити це, щоб бути:

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

        $links = array();

Ще одна помилка, в яку я зіткнувся, здавалося, стосується встановлених мною файлів cookie. Коли я очистив файли 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, яку я тестую ... відчуваю вагання очистити кеш зараз
Джон Голландія,

Можна підтвердити, що 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, то зображення можуть бути помітні, що не є точним рішенням. Тож я думаю, що магенто потрібно виправити це чи дати будь-яке інше рішення для цього.
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 {} \;
rob3000

Будь-яке рішення цього?
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 і запустив патч знову і був успішним
Danny Z

1
@DannyZ те саме, що я просто подумав, що мені краще десь це відмітити :)
rob3000

19

ці файли виправлені, ви можете побачити будь-який можливий вплив:
template: шаблони адміністратора, здебільшого виправлені.

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


Приємно! Не можете запам'ятати, перезаписавши файли тем на патч .sh може просто зробити своє: D
Bobadevv

1
Чудово зроблено. Мультипач - чудова ідея; Я просто хочу, щоб Magento випустив хеші SHA1 для своїх патчів, щоб ми могли перевірити, чи відповідають вони зовнішнім джерелам
philwinkle

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

14

Ось мій основний план тестування:

  • Застосовуйте купон
  • Увійти до адміністратора
  • Змусити адміністратора змінити пароль
  • Експорт CSV
  • Імпортуйте CSV
  • Скидання пароля як адміністратора, так і замовника
  • Створіть замовлення в адміністраторі
  • Створіть і замовляйте в передній частині як гість
  • Створіть і замовляйте в передній частині як замовник
  • Додайте зображення до товару
  • Створіть кредитну пам'ятку
  • Створіть рахунок-фактуру

як саме цей список допоможе мені зрозуміти помилки, викликані цим патчем, або це просто розробник зігнув руки ???
MagenX

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

@MagenX, тому після застосування виправлення я перевірив би ці ділянки, вибачте, якщо це не було корисно.
Брідео

Ах, базовий тестовий набір після перевірок виправлень, щоб переконатися, що ви знайдете оуч, перш ніж ваші клієнти та працівники ... Має ідеальний сенс, оскільки він виконує області, на які впливають виправлені файли.
Лабораторії Фіаско

Це була б приємна (краща?) Відповідь на це запитання тут: magento.stackexchange.com/questions/98565/…
Anna Völkl


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

Скріншот сторінки детальної інформації про замовлення адміністратора, Якщо відображається ця проблема, будь ласка, дотримуйтесь нижче інструкції, яка працює для мене !!введіть тут опис зображення

Рішення

Змінити рядок 124 в додатку / код / ​​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 / File / Uploader.php lib / Varien / File / Uploader.php
---
---
- chmod ($ призначенняFile, 0777);
+ chmod ($ призначенняFile, 0640);
---
---
- якщо (! (@ is_dir ($ призначенняFolder) || @mkdir ($ призначенняFolder, 0777, правда))) {
+ якщо (! (@ is_dir ($ призначенняFolder) || @mkdir ($ призначенняFolder, 0750, правда))) {

Тоді я з’ясував два шляхи подолання:

Варіант 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 веб-сервер-ім’я користувача magento / root / path

Ім'я користувача веб-сервера зазвичай є www-data або apache.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.