安全修补程序SUPEE-7405-可能的问题?


140

现在是另一个补丁发布日了,Magento 1.x的SUPEE-7405已经发布,修复列表很长:https ://magento.com/security/patches/supee-7405

在获得最后一个补丁的经验之后,我不得不再次问:应用补丁时可能会出现什么问题,我需要考虑什么?

许多XSS问题再次得到修复,因此我希望手动修补自定义主题。还要别的吗?是否存在向后不兼容的更改?


2
GG无法击败另一个补丁
Bobadevv

6
修补版本(EE 1.14.0.1。...)SUPEE-7405时,我们今天遇到了一个问题,导致“管理订单详细信息”屏幕为空白/损坏。订单队列可见,但是单击任何订单将返回一个损坏的订单详细信息页面。直到将其投入生产后,我们才发现它。-等待Magento支持的回应。
Moonman67 '16

6
还刚刚发现我们的SOAP API URL(/index.php/api/v2_soap/index/?wsdl=1)现在抛出500错误。如果您像我一样依靠SOAP ...在解决此问题之前,请不要安装补丁
Moonman67 '16

4
默认情况下,通过管理面板上传的文件(即产品图片上传)现在无法全局读取(0640)。目录也不是全局可执行文件(0750)。如果网络服务器以不同于php的用户身份运行(即php-fpm作为用户,网络服务器对于静态文件而言则没有任何人),则这可能会导致图像不出现在网站上的问题。
Rob Mangiafico

3
-以前的所有补丁都需要应用(如果您尚未应用,尤其是Shoplift,则可以认为您的商店已被黑客入侵-检查未知的管理员,怪异的代码等)-订单页面在PHP 5.3上可能已损坏-该代码使用PHP 5.4语句。
Piotr Kaminski

Answers:


156

2016年2月23日更新:补丁程序已更新至V1.1,它修复了本文中列出的许多重要问题,以下是列表:

  • 购物车合并补丁(SUPEE-7978):现在,具有相同项目的购物车可以正确合并。以前,当一个包含一个项目的购物车与另一个包含相同项目的购物车合并时,Magento不能正确合并该购物车的总计。现在,购物车仅包含一件商品,总数是正确的。
  • SOAP API修补程序(SUPEE-7822):Magento SOAP API现在可以按预期工作。以前,在安装SUPEE-7405 v1.0修补程序之后,API请求将导致500错误,Magento将记录一个异常。
  • PHP 5.3兼容性(SUPEE-7882):该修补程序与仍支持该版本的早期版本的Magento的PHP 5.3不兼容。遇到此问题的商家无法在管理员中查看销售信息。
  • 上载文件权限:由于原始SUPEE-7405修补程序引入了更严格的权限,导致许多商家无法查看上载的产品图像,具体取决于托管提供商的配置,该修补程序还原的限制性文件权限较少(文件为0666,目录为0777) 。

深入研究补丁之后,这里是我发现的相关/有趣的东西(注意:此列表是通过分析CE 1.9.2.0-1.9.2.2的补丁制作而成的,可能会影响旧版本的Magento的补丁更多) :

  • (已在补丁的V1.1中修复) 在此修补程序中使用[]代替代替array()使其向后与PHP <5.4不兼容(请参见下面的已知问题)
  • 如前所述,大多数更改是关于XSS问题的html转义和数据清理
  • 表单密钥验证已添加到的管理员登录名Mage_Admin_Model_Observer
  • 表单密钥验证已添加到的管理员忘记密码Mage_Adminhtml_IndexController
  • 表单密钥验证已添加到的管理员重置密码Mage_Adminhtml_IndexController
  • 表单密钥验证已添加到前端购物车删除操作中。形式键被添加到getDeleteUrlMage_Checkout_Block_Cart_Item_Renderer,并在确认deleteActionMage_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_validateMage_Admin_Model_User
  • SVG是不是有效的图标扩展
  • 对于那些使用Authorizenet的用户(我没有),似乎已经进行了一些更改,但是不确定是否会影响系统。所做的更改包括Mage_Authorizenet_Helper_Admin用于获取成功订单网址的新管理员帮助()。
  • Zend新课程:Zend_Xml_Security。其目的是扫描XML字符串以发现潜在的XXE和XEE攻击。但是,在其他修改后的文件中我找不到任何引用。
  • 默认情况下,默认情况下,通过管理面板上传的文件(即产品图片上传)在世界范围内不可读(之前:777;之后:640)。
  • 目录也不是全局可执行文件(755之前/之后:750)。如果网络服务器以不同于php的用户身份运行,这两个问题可能会导致图像无法显示在网站上的问题(来源:@Rob Mangiafico)
  • 关于前端模板所做唯一修改是数据转义,它不是系统破坏者,但仍建议在您的自定义主题上实现(并且只有两个前端文件不会影响太多工作;))

修补后的已知问题:

我将尽力使此列表保持最新。

在开始一个新的问题之前,请确保您已经应用了所有以前的补丁,因为看来很多问题都来自缺少补丁。

另一件事是:如果您修改了核心文件,则应用修补程序可能会失败。如果Hunk # failed at特定文件有错误,并且100%确定已应用所有以前的补丁程序,请通过检查镜像确保您拥有Magento版本的原始文件:https : //github.com / OpenMage / magento-mirror /

受影响的文件列表

可以在此页面上的此处找到: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
您已经提到我的问题“当我实际使用CE时,在应用7405之前应用7616时可能出现的问题:SUPEE 7405-Hunk#2 Failed at 43”作为EE问题。
利亚姆·麦克阿瑟

1
您说得对,我的糟糕,我已经解决了。
拉斐尔(Raphael)在Digital Pianism上2016年

1
现在,所有事件都以小写形式发送:这是否意味着我们必须检查/更改本地观察者配置?
hellimac '16

1
@hellimac我将在接下来的几个小时内对此进行测试,如果会影响本地观察者配置,我将对其进行更新。
拉斐尔(Raphael)在Digital Pianism上2016年

5
@hellimac不,读取时,config.xml中的值也将转换为小写:twitter.com/foomanNZ/status/689924329065164800
Fabian Schmengler,2016年

34

我注意到的一个问题是,如果您的站点使用的版本低于PHP 5.4,则该修补程序不兼容。

在第Mage_Adminhtml_Helper_Sales124行左右的类中。代码为:

$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的兼容性。
Jim OHalloran '16

并不是一个真正的答案,只是更多信息:将7405修补程序应用到Magento 1.5.1站点(是的,我知道...)非常艰巨,一旦“成功”会导致前端错误,并且管理员完全不可用。该站点位于php v5.3.1上-幸运的是我可以恢复到它。我在PHP 5.3.3上安装了另一个v1.9,正在测试中……现在犹豫着要清除缓存
Jon Holland

可以确认,试图在admin中查看命令记录的php 5.3.3上的mag 1.9.0.1仅是白色内容区域。更改建议解决了该问题。好地方。
乔恩·霍兰德

22

这是在用SUPEE-7405修补Magento CE时发现的一个问题。它代替了这一行:

chmod($destinationFile, 0777);

与:

chmod($destinationFile, 0640);

在文件中 lib/Varien/File/Uploader.php

由于该文件权限实际上应该为644,所以这停止了我的图像在后端显示。是否有任何理由将其设置为640?


1
我在Magento ver中有同样的问题。1.7.0.2图片可以成功上传,但由于权限问题,无法在后端显示。如果我将权限0640更改为0644,则可以看到图像,这不是确切的解决方案。因此,我想magento人需要纠正此问题或为此提供任何其他解决方案。
jyotiranjan.16年

我假设apache / nginx应该配置为与php-fpm创建映像的组在同一组中,有人知道这样的安全性吗?
jzahedieh

suPHP引起了我的问题!我已禁用它并启用了php-cgi,它提高了页面速度,但是我仍然存在权限问题。我不确定安全隐患,所以我将其保留。我不想打开任何安全漏洞!我宁愿编辑核心文件!
利亚姆·麦克阿瑟

3
基本上,问题是apache没有以与php相同的用户身份运行。将权限更改为640意味着文件不再是世界可读的。您需要确保apache与php以同一用户身份运行。如果正在运行的cpanel一种不错的方法是将该组设置为nobody并使其变得粘滞,则这可能会很困难,例如:chown USERNAME:nobody -R public_html find ./public_html -type d -exec chmod g+s {} \;
rob3000 '16

有什么解决办法吗?
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

这些文件已打补丁,您可以看到任何可能的影响:
模板:主要是打补丁的管理模板。

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

1
做得很好。多修补程序是个好主意;我只希望Magento为他们的补丁发布SHA1散列,以便我们可以验证它们是否与外部来源相匹配
philwinkle

通过直接访问magento Web存储库以卷曲所有修补程序可以简化此操作,但是我们遇到了一些问题。并需要输入您的登录详细信息... magento wtf ...
MagenX

14

这是我的基本测试计划:

  • 申请优惠券
  • 登录到管理员
  • 强制管理员更改密码
  • 导出CSV
  • 导入CSV
  • 将密码重置为管理员和客户
  • 在管理员中创建订单
  • 以访客身份在前端创建和订购
  • 以客户身份在前端创建和订购
  • 向产品添加图像
  • 创建贷项凭证
  • 创建发票

该列表究竟如何帮助我理解由该补丁引起的错误,或者仅仅是开发人员弯曲了手???
MagenX

@MagenX我不知道开发人员弯手意味着什么。但是,当我分发补丁程序时,我列出了可能有问题的内容。
Brideo

@MagenX,因此在应用补丁后,我将检查那些区域,如果对您没有帮助,则对不起。
Brideo

啊,修补程序检查之后的基本测试套件,以确保您在客户和工作人员之前找到ouch。这非常有道理,因为它可以练习受修补文件影响的区域。
Fiasco Labs

这将是一个很好的(更好的?)这个问题的答案在这里:magento.stackexchange.com/questions/98565/...
安娜Völkl




8

管理员订单详细信息页面的屏幕截图,如果显示此类型问题,请按照以下说明为我工作!在此处输入图片说明

从$ links = []更改app / code / core / Mage / Adminhtml / Helper / Sales.php中的第124行;到$ links = array();


7

每当我们为其中一个客户安装补丁程序时,我们都会使用以下清单:

  • 对站点文件和数据库进行完整备份。
  • 确保以前的所有补丁均已成功安装(可以在app/etc/applied.patches.list文件中看到)
  • 成功安装补丁后,清除缓存并进行测试命令以确保一切正常。

我想这就是全部。这些修补程序旨在快速安装且没有任何麻烦。10次​​中有9次可以很好地安装,而其他时候我们有备份。只要您不弄乱核心文件,一切都应该没问题。


文件可能app/etc/applied.patches.list
MagenX '16

3
我不觉得这可以回答问题。OP指的是SUPEE-6788,它需要第三方扩展中的大量手动工作,而不是如何应用补丁。
罗比·阿夫里尔

OP是指SUPEE-6788罗比,而不是6788
加里Olderman

抱歉,澄清这个问题显然是关于7405,但鉴于当时的噩梦是6788,这是上下文
Robbie Averill

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

在Magento 1.14.1.0上应用SUPEE-7405后,出现错误:

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修补程序后出现以下错误。

致命错误:
在第135行的\ app \ code \ core \ Mage \ Admin \ Model \ Session.php中调用未定义的方法Mage_Core_Controller_Response_Http :: sendHeadersAndExit()

因为我在没有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($ 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

解决该问题的另一种方法是使Web服务器成为文件的所有者

chown -R Web服务器用户名magento / root / path

Web服务器的用户名通常为www-data或apache。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.