Security Patch SUPEE-10415 - ปัญหาที่เป็นไปได้หรือไม่


37

นิววีโอไอพี 1 แพทช์ได้รับการเผยแพร่สุภี-10415

โปรแกรมปรับปรุงนี้ช่วยป้องกันปัญหาด้านความปลอดภัยหลายประเภท

หน้าข้อมูล: https://magento.com/security/patches/supee-10415
หน้าดาวน์โหลด: https://magento.com/tech-resources/download

ปัญหาที่เป็นไปได้ที่ต้องระวังคืออะไร

นอกจากนี้โปรดแบ่งปันข้อผิดพลาดและปัญหาที่คุณพบหลังจากติดตั้งแพตช์


  • ปัญหาเกี่ยวกับการใช้สุภี-10415 ในวานิลลา1.9.1.1การแสดงไม่สามารถนำมาใช้เนื่องจากข้อผิดพลาดก้อนใหญ่ที่Image.php แก้ไข: ณ วันที่ 7 ธันวาคม 2017 แก้ไขมีให้ใน SUPEE-10497

  • ต้องมีการติดตั้ง8788 เวอร์ชัน 2มิฉะนั้นจะเห็นข้อผิดพลาด "ชนิดข้อมูลที่ไม่สนับสนุน" ข้อมูลเพิ่มเติม.

  • ข้อผิดพลาด"404: ไม่พบหน้าเว็บ"จากข้อผิดพลาด / ไดเรกทอรีหลังจากอัปเกรดเป็น SUPEE-10415 ปัญหานี้เกิดขึ้นเฉพาะในการติดตั้ง Magento ที่เรียกใช้ส่วนขยายของบุคคลที่สามที่แน่นอน
    วิธีแก้ปัญหา:ยืนยันว่าไม่มีคำเตือน PHP ที่สร้างขึ้นโดยส่วนขยายหรือการปรับแต่งใด ๆ

5
ปรับใช้โดยไม่มีปัญหาเกี่ยวกับ Magento 1.9.2.4CE ที่นี่ - การเปลี่ยนแปลงส่วนใหญ่ดูเหมือนจะเป็นการสุขาภิบาลของตัวแปรในผู้ดูแลระบบโดยเฉพาะการบันทึกไฟล์ ดูเหมือนจะมีการเปลี่ยนแปลงเล็กน้อยกับ api สบู่ในแง่ของการฆ่าเชื้อ บทวิจารณ์ยังได้รับการทำให้สะอาดในพื้นที่ผู้ดูแลระบบดังนั้นอาจมีช่องโหว่ที่เป็นไปได้ที่โค้ดอันตรายสามารถโพสต์ในบทวิจารณ์ได้ที่ mo (การเก็งกำไร)
Ricky Odin Matthews

2
นำไปใช้กับ Magento 1.9.3.0 CE ไม่มีปัญหาที่นี่ จำเป็นต้องใช้โปรแกรมแก้ไขก่อน 10266 หากคุณยังไม่ได้ใช้โปรแกรมแก้ไขนั้น
danmentzer

1
ใน 1.9.1.0 - ใน "กฎราคาตะกร้าสินค้า" แพตช์ทำให้เกิดความล้มเหลว - ข้อผิดพลาดที่ยากในการดูกฎ - รายการบันทึก - a: 5: {i: 0; s: 23: "ประเภทข้อมูลที่ไม่สนับสนุน N"; i: 1; s: 1464: "# 0 /opt/bitnami/apps/magento/htdocs/lib/Unserialize/Reader/Arr.php(102): Unserialize_Reader_ArrValue-> อ่าน ('N', ';') ---- แก้ไขการพลิกกลับของแพทช์ดังนั้นจึงเป็นสิ่งที่อยู่ใน SUPEE-10415
Laith

1
ฉันไม่มีชื่อเสียงที่จะโพสต์คำตอบ แต่คุณไม่สามารถอัปเกรดเป็น Magento 1.9.3.7 แล้วใช้ Git เพื่อผสานกับแพตช์นี้: ค่าคงที่ MAXIMUM_PASSWORD_LENGTH จะเพิ่มเข้ามาสองครั้งหากคุณใช้พฤติกรรม Git เริ่มต้น (ไม่ทราบว่ามีหรือไม่ การตั้งค่าที่เป็นวิธีแก้ปัญหาสำหรับสิ่งนี้)
toon81

1
สำหรับปัญหา 1.9.1.1: โปรดใช้ SUPEE-10497 แทนมันเพิ่งเปิดตัวเมื่อเร็ว ๆ นี้เพื่อแก้ไขปัญหานี้ใน 1.9.1.1 โปรดอ่านบันทึกประจำรุ่นเนื่องจากแพตช์นี้ต้องลบ SUPEE-10266 ก่อนการติดตั้ง
Piotr Kaminski

คำตอบ:


26

ไฟล์ด้านล่างนี้ได้รับการอัพเดต / เพิ่มหลังจากใช้ patch ของSUPEE - 10415 แล้ว

app/Mage.php
app/code/core/Mage/Adminhtml/Block/Report/Review/Detail.php
app/code/core/Mage/Adminhtml/Block/Report/Tag/Product/Detail.php
app/code/core/Mage/Adminhtml/Block/Review/Add.php
app/code/core/Mage/Adminhtml/Block/Review/Edit/Form.php
app/code/core/Mage/Adminhtml/Controller/Action.php
app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Filename.php
app/code/core/Mage/Api/Helper/Data.php
app/code/core/Mage/Api/Model/Server/Adapter/Soap.php
app/code/core/Mage/Api/Model/Wsdl/Config.php
app/code/core/Mage/Api/Model/Wsdl/Config/Base.php
app/code/core/Mage/Core/Helper/String.php
app/code/core/Mage/Core/Model/File/Validator/Image.php
app/code/core/Mage/Core/etc/config.xml
app/code/core/Mage/Core/etc/system.xml
app/code/core/Mage/Customer/Model/Customer.php
app/code/core/Mage/Eav/Model/Entity/Attribute/Backend/Serialized.php
app/code/core/Mage/Log/Helper/Data.php
app/code/core/Mage/Rule/Model/Abstract.php
app/code/core/Mage/Sales/Block/Adminhtml/Billing/Agreement/Grid.php
app/code/core/Zend/Form/Decorator/Form.php
app/design/adminhtml/default/default/template/backup/dialogs.phtml
app/design/adminhtml/default/default/template/sales/billing/agreement/view/tab/info.phtml
app/design/adminhtml/default/default/template/xmlconnect/edit/tab/content.phtml
app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/image_edit.phtml
app/locale/en_US/Mage_Adminhtml.csv
app/locale/en_US/Mage_Customer.csv
js/mage/adminhtml/backup.js
lib/Varien/Filter/FormElementName.php

บางจุดที่สำคัญ:

1) นามสกุลไฟล์ที่อนุญาต: log, txt, html, csv เช็คอินไฟล์ด้านล่าง

app/Mage.php
app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Filename.php
app/code/core/Mage/Core/etc/system.xml
app/code/core/Mage/Log/Helper/Data.php

2) ความยาวรหัสผ่านสูงสุดคือ 256 ตัวอักษรและตรวจสอบความถูกต้องของapp/code/core/Mage/Customer/Model/Customer.phpไฟล์

@@ -74,6 +74,11 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
     const MINIMUM_PASSWORD_LENGTH = 6;

     /**
+     * Maximum Password Length
+     */
+    const MAXIMUM_PASSWORD_LENGTH = 256;
+
+    /**
      * Model event prefix
      *
      * @var string
@@ -876,6 +881,10 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
             $errors[] = Mage::helper('customer')
                 ->__('The minimum password length is %s', self::MINIMUM_PASSWORD_LENGTH);
         }
+        if (strlen($password) && !Zend_Validate::is($password, 'StringLength', array('max' => self::MAXIMUM_PASSWORD_LENGTH))) {
+            $errors[] = Mage::helper('customer')
+                ->__('Please enter a password with at most %s characters.', self::MAXIMUM_PASSWORD_LENGTH);
+        }
         $confirmation = $this->getPasswordConfirmation();
         if ($password != $confirmation) {
             $errors[] = Mage::helper('customer')->__('Please make sure your passwords match.');
@@ -902,7 +911,7 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
     }

     /**
-     * Validate customer attribute values on password reset
+     * Validate customer password on reset
      * @return bool
      */
     public function validateResetPassword()
@@ -916,6 +925,10 @@ class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
             $errors[] = Mage::helper('customer')
                 ->__('The minimum password length is %s', self::MINIMUM_PASSWORD_LENGTH);
         }
+        if (!Zend_Validate::is($password, 'StringLength', array('max' => self::MAXIMUM_PASSWORD_LENGTH))) {
+            $errors[] = Mage::helper('customer')
+                ->__('Please enter a password with at most %s characters.', self::MAXIMUM_PASSWORD_LENGTH);
+        }
         $confirmation = $this->getPasswordConfirmation();
         if ($password != $confirmation) {
             $errors[] = Mage::helper('customer')->__('Please make sure your passwords match.');

สำหรับ EE Edition เพิ่มไฟล์สี่ไฟล์เพิ่มเติม

app/code/community/OnTap/Merchandiser/Block/Adminhtml/Catalog/Product/List.php
app/design/adminhtml/default/default/template/merchandiser/smartmerch/tab.phtml
app/design/frontend/rwd/enterprise/template/giftcardaccount/onepage/payment/scripts.phtml
app/design/frontend/enterprise/default/template/giftcardaccount/onepage/payment/scripts.phtml

บางจุดที่ไม่สำคัญใน EE

เพิ่มเงื่อนไขในไฟล์ด้านล่าง

app/design/frontend/rwd/enterprise/template/giftcardaccount/onepage/payment/scripts.phtml 
  app/design/frontend/enterprise/default/template/giftcardaccount/onepage/payment/scripts.phtml

โปรดอัปเดตเงื่อนไขด้านล่างในไฟล์ธีมของคุณ

if (elements[i].name == 'form_key') 
{
                continue;
 }

สำหรับข้อมูลเพิ่มเติม:

https://magento.com/security/patches/supee-10415 http://devdocs.magento.com/guides/m1x/ce19-ee114/ee1.14_release-notes.html#ee114-11436 http: // devdocs magento.com/guides/m1x/ce19-ee114/ce1.9_release-notes.html#ce19-1936


หลังจากใช้ SUPEE-10415 แล้วทั้ง front-end และ back-end ได้รับข้อผิดพลาด 404 ฉันจะแก้ไขปัญหานี้ได้อย่างไร magento.stackexchange.com/q/215620/57334
ZUS

คุณสามารถสร้างตั๋วแยกต่างหากและอธิบายด้วยบันทึกข้อผิดพลาดและเพิ่มความคิดเห็นฉันจะช่วยคุณ ปัญหานี้เพราะ. htaccess หรือแทนที่โมดูลในท้องถิ่น
Rama Chandran M


20

สุภี-10415 ...

  1. แก้ไขปัญหา XSS ของผู้ดูแลระบบบางส่วนในพื้นที่ต่อไปนี้:

    • รายงานการวิจารณ์ผลิตภัณฑ์
    • รายงานแท็กผลิตภัณฑ์
    • รีวิวสินค้าเพิ่ม / แก้ไขส่วนต่อประสาน
    • ข้อตกลงการเรียกเก็บเงิน
    • แท็บตัวแก้ไขเนื้อหา xmlconnect
    • กฎที่ทำให้เป็นอนุกรม
  2. จำกัด นามสกุลไฟล์ที่สามารถใช้สำหรับระบบและไฟล์บันทึกข้อยกเว้น นามสกุลไฟล์ที่อนุญาต: .log, .txt, .html,.csv

  3. วางขีด จำกัด สูงสุด 256 อักขระบนรหัสผ่านบัญชีลูกค้า การเปลี่ยนแปลงนี้เป็นเรื่องน่าขัน ไม่แน่ใจว่าพวกเขาได้รับแนวคิดที่สดใสนี้จากที่ใด

ไม่มีการเปลี่ยนแปลงใด ๆ ที่แสดงว่ามีการแตกหักอย่างมากหรือการเปลี่ยนแปลงย้อนหลังเข้ากันไม่ได้ยกเว้นอาจมีการจำกัดความยาวของรหัสผ่านลูกค้า


9
ความยาวรหัสผ่าน 256 เป็นข้อผิดพลาดใน Magento ที่ไม่ตรงกันเนื่องจากฟิลด์รหัสผ่านฐานข้อมูลอยู่ใน customer_entity_varchar.value ซึ่งเป็น maxlength = 255 ไม่แน่ใจว่าเกิดอะไรขึ้นถ้าไม่มีการแก้ไขหากคุณพยายามตั้งค่าที่ยาวกว่า 255 อาจเป็นสาเหตุของปัญหา
Ricky Odin Matthews

12
คุณถูกต้อง customer_entity_varchar.value มีขนาดคอลัมน์ที่ จำกัด อย่างไรก็ตามไม่ใช่ข้อผิดพลาดเนื่องจากรหัสผ่านไม่ได้เก็บไว้ในคอลัมน์นั้น เค็มและแฮชรหัสผ่านจะถูกเก็บไว้ที่นั่น ค่านี้จะมีความยาวคงที่เสมอโดยไม่คำนึงถึงขนาดของรหัสผ่านดั้งเดิม ก่อนการแก้ไขนี้จะไม่มีปัญหาในการป้อนรหัสผ่านที่ยาวเกิน 255 อักขระ
t-richards

3
ฉันสมมติว่าการเปลี่ยนความยาวรหัสผ่านมีส่วนเกี่ยวข้องกับ APPSEC-1330 magento.com/security/patches/supee-10415
quasiobject

7
บางทีนี่อาจเป็นความคิดของพวกเขา Rob: stackoverflow.com/a/98857/8199523
RickyMage123

1
@ t-richards จุดที่ดีคุณอยู่ที่นั่น ทำไมคุณคิดว่าพวกเขาทำฉันคิดว่าการแฮ็กรหัสผ่านที่ยาวอาจทำให้เกิดปัญหา DoS ในแง่ของการใช้งาน CPU แน่นอนว่ารหัสผ่านที่ยาวกว่านั้นใช้ CPU / หน่วยความจำเพิ่มเติมใน PHP เพื่อแฮช
Ricky Odin Matthews

12

SUPEE 10415 ต้องใช้แพทช์ 8788 v2

ฉันพบข้อผิดพลาดเดียวกับโพสต์ก่อนหน้า แต่ดูเหมือนว่าถูกลบแล้ว

a:5:{i:0;s:23:"Unsupported data type N";i:1;s:2942:"#0 /chroot/home/mywebroot/html/lib/Unserialize/Reader/Arr.php(102): Unserialize_Reader_ArrValue->  read('N', ';')
#1 /chroot/home/mywebroot/html/lib/Unserialize/Parser.php(53): Unserialize_Reader_Arr->read('N', ';')
#2 /chroot/home/mywebroot/html/app/code/core/Mage/Core/Helper/UnserializeArray.php(44): Unserialize_Parser->unserialize('a:6:{s:4:"type"...')
#3 /chroot/home/mywebroot/html/app/code/core/Mage/Rule/Model/Abstract.php(179): Mage_Core_Helper_UnserializeArray->unserialize('a:6:{s:4:"type"...')
#4 /chroot/home/mywebroot/html/app/code/core/Mage/Rule/Model/Abstract.php(353): Mage_Rule_Model_Abstract->getConditions()
#5 /chroot/home/mywebroot/html/app/code/core/Mage/SalesRule/Model/Validator.php(216): Mage_Rule_Model_Abstract->validate(Object(   Mage_Sales_Model_Quote_Address))
#6 /chroot/home/mywebroot/html/app/code/core/Mage/SalesRule/Model/Validator.php(242): Mage_SalesRule_Model_Validator->_canProcessRule(Object(  Mage_SalesRule_Model_Rule), Object(Mage_Sales_Model_Quote_Address))
#7 /chroot/home/mywebroot/html/app/code/core/Mage/SalesRule/Model/Quote/Freeshipping.php(74): Mage_SalesRule_Model_Validator->processFreeShipping(Object(  Mage_Sales_Model_Quote_Item))
#8 /chroot/home/mywebroot/html/app/code/core/Mage/Sales/Model/Quote/Address.php(1013): Mage_SalesRule_Model_Quote_Freeshipping->collect(Object(    Mage_Sales_Model_Quote_Address))
#9 /chroot/home/mywebroot/html/app/code/core/Mage/Sales/Model/Quote.php(1331): Mage_Sales_Model_Quote_Address->collectTotals()
#10 /chroot/home/mywebroot/html/app/code/core/Mage/Checkout/Model/Cart.php(458): Mage_Sales_Model_Quote->collectTotals()
#11 /chroot/home/mywebroot/html/app/code/core/Mage/Checkout/controllers/CartController.php(127): Mage_Checkout_Model_Cart->save()
#12 /chroot/home/mywebroot/html/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Checkout_CartController->indexAction()
#13 /chroot/home/mywebroot/html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('index')
#14 /chroot/home/mywebroot/html/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(   Mage_Core_Controller_Request_Http))
#15 /chroot/home/mywebroot/html/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#16 /chroot/home/mywebroot/html/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#17 /chroot/home/mywebroot/html/index.php(96): Mage::run('', 'store')
#18 {main}";s:3:"url";s:15:"/checkout/cart/";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:7:"default";}

ฉันพบข้อผิดพลาดด้านบนเมื่อฉันติดตั้งแพตช์ใหม่บน M 1.8.00 CE สาเหตุที่เฉพาะเจาะจงน่าจะเกิดจากการมีแพตช์ v2 ของ 8788 เราได้ทำการแก้ไขด้วยตนเองสำหรับปัญหาส่วนใหญ่จากแพทช์นั้น แต่เราพลาดส่วนที่ไม่แน่นอน

แทนที่จะคืนค่าโปรแกรมแก้ไขฉันทำการแก้ไขด้วยตนเองและตอนนี้ไซต์ทำงานได้อย่างถูกต้อง

ด้านล่างนี้คุณจะพบรหัสสำหรับแพทช์ 8788

diff --git lib/Unserialize/Parser.php lib/Unserialize/Parser.php
index 423902a..2c01684 100644
--- lib/Unserialize/Parser.php
+++ lib/Unserialize/Parser.php
@@ -34,6 +34,7 @@ class Unserialize_Parser
     const TYPE_DOUBLE = 'd';
     const TYPE_ARRAY = 'a';
     const TYPE_BOOL = 'b';
+    const TYPE_NULL = 'N';

     const SYMBOL_QUOTE = '"';
     const SYMBOL_SEMICOLON = ';';

diff --git lib/Unserialize/Reader/Arr.php lib/Unserialize/Reader/Arr.php
index caa979e..cd37804 100644
--- lib/Unserialize/Reader/Arr.php
+++ lib/Unserialize/Reader/Arr.php
@@ -101,7 +101,10 @@ class Unserialize_Reader_Arr
         if ($this->_status == self::READING_VALUE) {
             $value = $this->_reader->read($char, $prevChar);
             if (!is_null($value)) {
-                $this->_result[$this->_reader->key] = $value;
+                $this->_result[$this->_reader->key] =
+                    ($value == Unserialize_Reader_Null::NULL_VALUE && $prevChar == Unserialize_Parser::TYPE_NULL)
+                        ? null
+                        : $value;
                 if (count($this->_result) < $this->_length) {
                     $this->_reader = new Unserialize_Reader_ArrKey();
                     $this->_status = self::READING_KEY;

diff --git lib/Unserialize/Reader/ArrValue.php lib/Unserialize/Reader/ArrValue.php
index d2a4937..c6c0221 100644
--- lib/Unserialize/Reader/ArrValue.php
+++ lib/Unserialize/Reader/ArrValue.php
@@ -84,6 +84,10 @@ class Unserialize_Reader_ArrValue
                     $this->_reader = new Unserialize_Reader_Dbl();
                     $this->_status = self::READING_VALUE;
                     break;
+                case Unserialize_Parser::TYPE_NULL:
+                    $this->_reader = new Unserialize_Reader_Null();
+                    $this->_status = self::READING_VALUE;
+                    break;
                 default:
                     throw new Exception('Unsupported data type ' . $char);
             }

diff --git lib/Unserialize/Reader/Null.php lib/Unserialize/Reader/Null.php
new file mode 100644
index 0000000..93c7e0b
--- /dev/null
+++ lib/Unserialize/Reader/Null.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magento.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magento.com for more information.
+ *
+ * @category    Unserialize
+ * @package     Unserialize_Reader_Null
+ * @copyright  Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
+ * @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+/**
+ * Class Unserialize_Reader_Null
+ */
+class Unserialize_Reader_Null
+{
+    /**
+     * @var int
+     */
+    protected $_status;
+
+    /**
+     * @var string
+     */
+    protected $_value;
+
+    const NULL_VALUE = 'null';
+
+    const READING_VALUE = 1;
+
+    /**
+     * @param string $char
+     * @param string $prevChar
+     * @return string|null
+     */
+    public function read($char, $prevChar)
+    {
+        if ($prevChar == Unserialize_Parser::SYMBOL_SEMICOLON) {
+            $this->_value = self::NULL_VALUE;
+            $this->_status = self::READING_VALUE;
+            return null;
+        }
+
+        if ($this->_status == self::READING_VALUE && $char == Unserialize_Parser::SYMBOL_SEMICOLON) {
+            return $this->_value;
+        }
+        return null;
+    }
+}

นอกจากนี้คุณยังสามารถอ่านเพิ่มเติมเกี่ยวกับข้อผิดพลาดจากโพสต์นี้แก้ไข: Unserialize_Parser ระดับใหม่โยนข้อยกเว้นในค่า NULL


AHA! จุดดีต้องใช้ 8788 V2 เพื่อป้องกันปัญหา!
ไอคอน

คุณช่วยบอกได้ไหมว่าข้อผิดพลาด "ประเภทข้อมูลที่ไม่สนับสนุน" ในหน้าใดในเว็บไซต์ของคุณ พยายามทำซ้ำ
ไอคอน

ฉันสามารถเรียกใช้งานได้ในหน้าหมวดหมู่และหน้าผลิตภัณฑ์และรถเข็นขณะที่ผลิตภัณฑ์อยู่ในรถเข็น
danmentzer

@danmentzer ฉันจะแก้ไขข้อผิดพลาดได้อย่างไรให้เปลี่ยน patch 9767 v1 :: ข้อผิดพลาด: justpaste.it/1e9pn
2560

@ zus ฉันเพิ่งเห็นโพสต์ของคุณคุณคิดออกจากลักษณะของการวางของคุณฉันจะเดาสาเหตุที่แตกต่างกันสามประการที่เป็นไปได้สำหรับข้อผิดพลาดของคุณ 1. คุณมีเวอร์ชันของแพตช์ที่ไม่ถูกต้อง (นี่เป็นโอกาสที่น้อยที่สุด) 2. แพทช์ของคุณยังไม่ได้ใช้ 3. คุณอาจแก้ไขบางส่วนด้วยตนเองและโปรแกรมแก้ไขไม่ชอบวิธีที่คุณทำ ขออภัยถ้าสิ่งนี้ไม่เป็นประโยชน์
danmentzer

11

เราพบปัญหากับโปรแกรมแก้ไขนี้ซึ่งทุกหน้าในเว็บไซต์เริ่มแสดงข้อผิดพลาด "404: ไม่พบหน้าเว็บ" จากerrors/ไดเรกทอรี หลังจากการขุดเล็กน้อยมันเกิดขึ้นโดย PHP Warning ที่ออกMage_Core_Model_App::initซึ่งทำให้เกิด a Mage_Core_Model_Store_Exceptionในบรรทัดต่อไปนี้จากแพตช์:

diff --git app/Mage.php app/Mage.php
index 566027d..165928d 100644
--- app/Mage.php
+++ app/Mage.php
@@ -805,7 +805,12 @@ final class Mage
         static $loggers = array();

         $level  = is_null($level) ? Zend_Log::DEBUG : $level;
-        $file = empty($file) ? 'system.log' : $file;
+        $file = empty($file) ? 'system.log' : basename($file);
+
+        // Validate file extension before save. Allowed file extensions: log, txt, html, csv
+        if (!self::helper('log')->isLogFileExtensionValid($file)) {
+            return;
+        }

         try {
             if (!isset($loggers[$file])) {
  1. คำเตือน PHP เกิดขึ้นก่อนที่ร้านค้าจะได้รับการเริ่มต้น
  2. คำเตือนถูกหยิบขึ้นมาโดยmageCoreErrorHandler()ที่การเรียกMage::log()เพื่อบันทึกข้อความลงในไฟล์บันทึก
  3. Mage::log() โทร Mage::helper('log')
  4. Mage_Log_Helper_Data::__constructสายMage::getStoreConfig()ที่โทรMage::app()->getStore()แต่ร้านค้ายังไม่ได้เริ่มต้นและ a Mage_Core_Model_Store_Exceptionถูกโยน
  5. app/Mage.php:647 จับข้อยกเว้นและส่งคืนหน้า 404

ไม่แน่ใจจริงๆว่าโซลูชันนี้เป็นอย่างไรนอกจากแก้ไขคำเตือนและ / หรือตรวจสอบข้อยกเว้นเมื่อตรวจสอบนามสกุลไฟล์บันทึก จะรายงานเรื่องนี้ต่อ Magento เพื่อดูว่าพวกเขาคิดอย่างไร


คุณใช้เวอร์ชั่นอะไร
ไอคอน

1
@Icon 1.9.3.6 ฉันสังเกตเห็นว่าโครงการที่ไม่ทันสมัยของเราบางโครงการไม่มี__construct()วิธีการMage_Log_Helper_Dataดังนั้นจะไม่ได้รับผลกระทบจากสิ่งนี้ แต่ทั้งชุมชนล่าสุดและรุ่นองค์กรทำ
Tomas Gerulaitis

ดูเหมือน magento ได้ตอบคำถามนี้devdocs.magento.com/guides/m1x/ce19-ee114/ …
ไอคอน

วีโอไอพีพูดถึงว่าพวกเขาวางแผนที่จะแก้ไขปัญหานี้ด้วยการแก้ไขครั้งต่อไปหรือไม่?
ไอคอน

1
@Icon เราเห็นข้อผิดพลาดในการดูแลเช่นเดียวกับส่วนหน้าเพราะปัญหาที่เกิดขึ้นในช่วงเริ่มต้นการกำหนดค่าของวีโอไอพี
Tomas Gerulaitis

8

1. ได้รับการแก้ไข: ปัญหารหัสลับไม่ถูกต้องเมื่อผู้ใช้โหลดผู้ดูแลระบบ

“Invalid Secret Key. Please refresh the page.” message when a user loads the Adminในแพทช์นี้วีโอไอพีไม่แสดง

โดยการเปลี่ยนรหัสที่

app/code/core/Mage/Adminhtml/Controller/Action.php

เข้มงวดรหัสผ่านของลูกค้าทั้งหมดให้ยาวสูงสุด 256:

เรารู้อยู่แล้วว่าวีโอไอพี 1.xรหัสผ่านขั้นต่ำยาวคือ 6

แต่ในpatch วีโอไอพีนี้มีความยาวสูงสุดที่ จำกัด ไว้ที่ 256

กรณีนี้วีโอไอพีได้ทำการเปลี่ยนแปลงในการทำงานของvalidate() ของรูปแบบของลูกค้าระดับดังนั้นถ้าใครมีแทนที่ชั้นเรียนและยังแทนที่แล้วพวกเขาก็ควรเพิ่มด้านล่างโค้ดบนthat override class

if (strlen($password) && !Zend_Validate::is($password, 'StringLength', array('max' => self::MAXIMUM_PASSWORD_LENGTH))) {
   $errors[] = Mage::helper('customer')
       ->__('Please enter a password with at most %s characters.', self::MAXIMUM_PASSWORD_LENGTH);
}

Add $this->escapeHtml()and Mage :: helper ('core') -> quoteEscape () สำหรับไฟล์บางไฟล์ที่การโจมตี XSS เป็นไปได้

หากใครก็ตามแทนที่ไฟล์เหล่านี้คุณควรเพิ่มโค้ดด้านล่างเพื่อรับการลบล้างคลาส overapp 1.app/code/core/Mage/Adminhtml/Block/Report/Review/Detail.php

แทนที่

$ this -> _ headerText = Mage :: helper ('reports') -> __ ('รีวิวสำหรับ% s', $ product-> getName ());

กับ

$ this -> _ headerText = Mage :: helper ('reports') -> __ ('รีวิวสำหรับ% s', $ this-> escapeHtml ($ product-> getName ()));

2.app/code/core/Mage/Adminhtml/Block/Report/Tag/Product/Detail.php

แทนที่

$ this -> _ headerText = Mage :: helper ('reports') -> __ ('แท็กส่งไปยัง% s', $ product-> getName ());

กับ

$this->_headerText = Mage::helper('reports')->__('Tags submitted to %s', $this->escapeHtml($product->getName()));

3.app/code/core/Mage/Adminhtml/Block/Review/Edit/Form.php

แทนที่

'text' => '<a href="' . $this->getUrl('*/catalog_product/edit', array('id' => $product->getId())) . '" onclick="this.target=\'blank\'">' . $product->getName() . '</a>'

กับ

'text' => '<a href="' . $this->getUrl('*/catalog_product/edit', array('id' => $product->getId())) . '" onclick="this.target=\'blank\'">' . $this->escapeHtml($product->getName()) . '</a>'

  1. การเรียกเก็บเงินตามคำสั่งขายดูการเรียกเก็บเงิน: แอป / ออกแบบ / adminhtml / ค่าเริ่มต้น / ค่าเริ่มต้น / แม่แบบ / การขาย / การเรียกเก็บเงิน / ข้อตกลง / มุมมอง / แท็บ / info.phtml

แทนที่

<?php echo $this->getCustomerEmail() ?>

กับ

<?php echo $this->escapeHtml($this->getCustomerEmail()) ?>

  1. app / design / adminhtml / default / default / template / xmlconnect / edit / tab / content.phtml โดย Mage :: helper ('core') -> quoteEscape

แทนที่

this.pageOptions += '<option value="<?php echo $helper->jsQuoteEscape($page['value']) ?>"><?php echo $helper->jsQuoteEscape($page['label']) ?></option>';

กับ

$this.pageOptions += '<option value="<?php echo $helper->jsQuoteEscape($page['value']) ?>"><?php echo $helper->quoteEscape($page['label']) ?></option>';

  1. app / design / adminhtml / default / default / template / xmlconnect / edit / tab / design / image_edit.phtml โดย Mage :: helper ('หลัก') -> quoteEscape

แทนที่

<option value="<?php echo $page['value']; ?>"><?php echo $page['label']; ?></option>

กับ

<option value="<?php echo $page['value']; ?>"><?php echo Mage::helper('core')->quoteEscape($page['label']); ?></option>


4
ขอบคุณ @Amit ฉันพลาด "แก้ไข: ปัญหารหัสลับไม่ถูกต้อง" ใน ans ของฉัน :) +1
Rama Chandran

1
คุณยินดีต้อนรับ:) ... คุณทำได้ดีสำหรับคำถามนี้
Amit Bera

7

หากคุณได้ใช้ SUPEE-10358 ^ หรือได้รับการแก้ไขด้วยตนเองapp/code/core/Mage/Adminhtml/Controller/Action.phpสำหรับปัญหา "รหัสลับไม่ถูกต้อง " คุณจะต้องลบส่วนนั้นออกจากไฟล์โปรแกรมแก้ไขด้วยตนเอง:

diff --git app/code/core/Mage/Adminhtml/Controller/Action.php app/code/core/Mage/Adminhtml/Controller/Action.php
index 2a8e63f..f2ee208 100644
--- app/code/core/Mage/Adminhtml/Controller/Action.php
+++ app/code/core/Mage/Adminhtml/Controller/Action.php
@@ -186,7 +186,7 @@ class Mage_Adminhtml_Controller_Action extends Mage_Core_Controller_Varien_Actio
                 'message' => $_keyErrorMsg
             )));
         } else {
-                if ($_keyErrorMsg != ''){
+                if (!$_isValidFormKey){
                 Mage::getSingleton('adminhtml/session')->addError($_keyErrorMsg);
             }
             $this->_redirect( Mage::getSingleton('admin/session')->getUser()->getStartupPageUrl() );

นอกจากนี้หากคุณแก้ไขการพิมพ์ " new-pawwsord " (แนะนำใน SUPEE-10266) app/design/adminhtml/default/default/template/backup/dialogs.phtmlแล้วให้ลบส่วนนั้นออกจากแพตช์ด้วย:

diff --git app/design/adminhtml/default/default/template/backup/dialogs.phtml app/design/adminhtml/default/default/template/backup/dialogs.phtml
index c5a3f82..2ff57cc 100644
--- app/design/adminhtml/default/default/template/backup/dialogs.phtml
+++ app/design/adminhtml/default/default/template/backup/dialogs.phtml
@@ -158,7 +158,7 @@
                             <td class="value">
                                 <!-- This is a dummy hidden field to trick firefox from auto filling the password -->
                                 <input type="password" class="input-text no-display" name="dummy" id="dummy" />

-                                    <input type="password" name="ftp_pass" id="ftp_pass" autocomplete="new-pawwsord">
+                                    <input type="password" name="ftp_pass" id="ftp_pass" autocomplete="new-password">
                             </td>
                         </tr>
                         <tr>

^ MageSupport จัดหา SUPEE-10358 เพื่อตอบรับตั๋วสนับสนุน EE เกี่ยวกับปัญหา InvalidSecretKey


5

ปัญหา: patch ไม่ทำงานบน vanilla 1.9.1.1

แก้ไข 1: แก้ไขเพิ่มด้านล่าง

แก้ไข 2: ไม่ต้องแก้ไขของฉันอีกต่อไป Magento ให้บริการSUPEE-10497ซึ่งแก้ไขปัญหานี้ได้

ปัญหา:

# file: PATCH_SUPEE-10415_CE_1.9.1.1_v1-2017-11-27-05-47-08.sh
Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.

checking file app/Mage.php
checking file app/code/core/Mage/Adminhtml/Block/Report/Review/Detail.php
checking file app/code/core/Mage/Adminhtml/Block/Report/Tag/Product/Detail.php
checking file app/code/core/Mage/Adminhtml/Block/Review/Add.php
checking file app/code/core/Mage/Adminhtml/Block/Review/Edit/Form.php
checking file app/code/core/Mage/Adminhtml/Controller/Action.php
checking file app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
checking file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Filename.php
checking file app/code/core/Mage/Api/Helper/Data.php
checking file app/code/core/Mage/Api/Model/Server/Adapter/Soap.php
checking file app/code/core/Mage/Api/Model/Wsdl/Config.php
checking file app/code/core/Mage/Api/Model/Wsdl/Config/Base.php
checking file app/code/core/Mage/Core/Helper/String.php
checking file app/code/core/Mage/Core/Model/File/Validator/Image.php
Hunk #1 FAILED at 90.
1 out of 1 hunk FAILED
checking file app/code/core/Mage/Core/etc/config.xml
checking file app/code/core/Mage/Core/etc/system.xml
Hunk #1 succeeded at 651 (offset 1 line).
Hunk #2 succeeded at 661 (offset 1 line).
checking file app/code/core/Mage/Customer/Model/Customer.php
checking file app/code/core/Mage/Eav/Model/Entity/Attribute/Backend/Serialized.php
checking file app/code/core/Mage/Log/Helper/Data.php
checking file app/code/core/Mage/Rule/Model/Abstract.php
checking file app/code/core/Mage/Sales/Block/Adminhtml/Billing/Agreement/Grid.php
checking file app/code/core/Zend/Form/Decorator/Form.php
checking file app/design/adminhtml/default/default/template/backup/dialogs.phtml
checking file app/design/adminhtml/default/default/template/sales/billing/agreement/view/tab/info.phtml
checking file app/design/adminhtml/default/default/template/xmlconnect/edit/tab/content.phtml
checking file app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/image_edit.phtml
checking file app/locale/en_US/Mage_Adminhtml.csv
checking file app/locale/en_US/Mage_Customer.csv
checking file js/mage/adminhtml/backup.js
checking file lib/Varien/Filter/FormElementName.php

Vanilla Magento 1.9.1.1 ถูกดาวน์โหลดจากhttps://github.com/OpenMage/magento-mirror/archive/1.9.1.1.tar.gz

แพทช์ที่ใช้ก่อนหน้านี้ใน Magento นี้ 1.9.1.1:

2017-11-29 07:37:12 UTC | SUPEE-5994 | CE_1.6.0.0 | v1 | _ | n/a | SUPEE-5994_CE_1.6.0.0_v1.patch
2017-11-29 07:37:12 UTC | SUPEE-6237 | EE_1.14.2.0 | v1 | 8b216c42e2e5d2cb5d8e500fcb6690abede9df52 | Fri Jun 12 13:39:59 2015 +0300 | v1.14.2.0..HEAD
2017-11-29 07:37:12 UTC | SUPEE-6285 | CE_1.9.1.1 | v2 | 7226d88b1eeb07a5fbc4e62be189a5219457cc14 | Mon Jun 22 16:32:26 2015 +0300 | 202596e441..7226d88b1e
2017-11-29 07:37:12 UTC | SUPEE-6482 | CE_1.9.2.0 | v1 |  | Tue Jul 14 14:17:04 2015 +0300 |
2017-11-29 07:37:12 UTC | SUPEE-6788 | CE_1.9.1.1 | v1 | 2349a68440e870cd68dfa81fb982f3b7a42cd099 | Fri Oct 23 14:49:16 2015 +0300 | b240663
2017-11-29 07:37:12 UTC | SUPEE-7405-CE-1-9-1-1 | CE_1.9.1.1 | v1 | f1c57f70de3fc2bea64bbe3ddf3bdf076b750f8e | Tue Jan 19 15:29:35 2016 +0200 | 2349a68440..f1c57f70de
2017-11-29 07:37:12 UTC | SUPEE-7405 | CE_1.9.1.1 | v1.1 | 38d673b4d2b132c6df53becc9d92346aa5d9627e | Fri Feb 5 13:28:39 2016 +0200 | f1c57f70de3fc2bea64bbe3ddf3bdf076b750f8e..38d673b4d2b132c6df53becc9d92346aa5d9627e
2017-11-29 07:37:12 UTC | SUPEE-7616 | CE_1.9.2.2-CE_1.8.0.0 | v1 | 1609c0d0be86473d357346fa51f93c12b365d7a1 | Tue Dec 8 12:53:31 2015 +0200 | e1fc3c59c9587427b8a9c88655715f27afbfe970..1609c0d0be86473d357346fa51f93c12b365d7a1
2017-11-29 07:37:12 UTC | SUPEE-8167 | EE_1.14.2.0 | v1 | 87bb97f9b0b2871f842b7faabf667a81806f937e | Thu Apr 27 13:31:21 2017 +0300 | 6010eb82..87bb97f9b
2017-11-29 07:37:12 UTC | SUPEE-8788 | CE_1.9.1.1 | v2 | 8d9fad1daf5131de3430ef09b0816d3d133c8412 | Mon Sep 26 14:06:18 2016 +0300 | 38d673b4d2..8d9fad1daf
2017-11-29 07:37:12 UTC | SUPEE-8967 | EE_1.13.1.0 | v1 | 1fa53e9533f6f3a16f24d9b64dabef0ab7f965d7 | Thu Aug 18 16:32:48 2016 +0300 | 97d160644..1fa53e9533
2017-11-29 07:37:13 UTC | SUPEE-9652 | EE_1.14.3.1 | v1 | 4038f0785d828794083f53f10c01aaa6af403523 | Tue Jan 24 15:03:12 2017 +0200 | 9586981e6ca8b255014b242d50b68b88525b0754..4038f0785d828794083f53f10c01aaa6af403523
2017-11-29 07:37:13 UTC | PATCH_SUPEE-9767_CE_1.9.3.0_v2 | CE_1.9.3.0 | v2 | 6566db274beaeb9bcdb56a62e02cc2da532e618c | Thu Jun 22 04:30:03 2017 +0300 | v1.14.3.3..HEAD
2017-11-29 07:37:13 UTC | SUPEE-10336_v1.14.2.4 | CE_1.9.2.4 | v1 | 721708ecf41f0ee745b8f441a4bfe56471b493a7 | Fri Sep 8 17:55:44 2017 +0300 | cc0d87..721708e
2017-11-29 07:37:13 UTC | SUPEE-10266-CE-1.9.1.1 | CE_1.9.1.1 | v1 | f66c6bcd3c16c5ca934823e6a91b5696698e497c | Fri Sep 1 12:15:53 2017 +0300 | 8d9fad1daf5131de3430ef09b0816d3d133c8412..HEAD

การแก้ไขอย่างเป็นทางการสำหรับ SUPEE-10415 patch สำหรับ 1.9.1.1:

  • หากคุณติดตั้งSUPEE-10266:
    เปลี่ยนกลับเป็นโดยใช้: ./PATCH_SUPEE-10266_CE_1.9.1.1_v1-2017-09-15-04-59-56.sh --revert
  • หากคุณติดตั้งSUPEE-10415:
    เปลี่ยนกลับเป็นโดยใช้ ./PATCH_SUPEE-10415_CE_1.9.1.1_v1-2017-11-27-05-47-08.sh --revert
  • ตอนนี้ใช้SUPEE-10497

แก้ไขด้วยตนเองสำหรับแพตช์ SUPEE-10415 สำหรับ 1.9.1.1 [คัดค้าน]:

แก้ไขไฟล์PATCH_SUPEE-10415_CE_1.9.1.1_v1-2017-11-27-05-47-08.shเปลี่ยนสาย-445447

เก่า:

         $fileInfo = getimagesize($filePath);
         if (is_array($fileInfo) and isset($fileInfo[2])) {
             if ($this->isImageType($fileInfo[2])) {

ใหม่:

         list($imageWidth, $imageHeight, $fileType) = getimagesize($filePath);
         if ($fileType) {
             if ($this->isImageType($fileType)) {

ฉันกำลังประสบกับสิ่งนี้เช่นกัน app/code/core/Mage/Core/Model/File/Validator/Image.phpดูเหมือนว่าจะมีปัญหากับ Patch SUPEE-10415 ไม่ปรากฏว่าคำนึงถึงการปรับเปลี่ยนที่ทำโดย Patch SUPEE-9767 (v1 หรือ v2)
wr125

1
แก้ไขเพิ่มไปที่ด้านล่างของคำตอบของฉัน
Jeroen Vermeulen - MageHost

1
ฉันไม่เห็นด้วย เราทำการติดตั้งวานิลลาจากgithub.com/OpenMage/magento-mirror/archive/1.9.2.2.tar.gzและสามารถใช้แพทช์ตามคำสั่งนี้: SUPEE-7405-CE-1-9-2-2 | CE_1.9.2.2 | v1, SUPEE-7405 | CE_1.9.2.2 | v1.1, SUPEE-7616 | CE_1.9.2.2-CE_1.8.0.0 | v1, SUPEE-8167 | EE_1.14.2.0 | v1, SUPEE-8788 | CE_1.9.2.2 | v2, SUPEE-8967 | EE_1.13.1.0 | v1, SUPEE-9652 | EE_1.14.3.1 | v1, PATCH_SUPEE-9767_CE_1.9.3.0_v2 | CE_1.9.3.0 | v2, SUPEE-10336_v1.14.2.4 | CE_1.9.2.4 | v1, SUPEE-10266-CE-1.9.2.4 | CE_1.9.2.4 | v1, SUPEE-10415-ce-1.9.2.2 | CE_1.9.2.2 | v1
Jeroen Vermeulen - MageHost

1
คุณต้องใช้แพตช์ก่อนหน้านี้ทั้งหมดดูความคิดเห็นก่อนหน้าของฉัน ฉันทดสอบมัน
Jeroen Vermeulen - MageHost

4
โปรดใช้ SUPEE-10497 แทนมันเพิ่งเปิดตัวเมื่อเร็ว ๆ นี้เพื่อแก้ไขปัญหานี้ใน 1.9.1.1 โปรดอ่านบันทึกประจำรุ่นเนื่องจากแพตช์นี้ต้องลบ SUPEE-10266 ก่อนการติดตั้ง
Piotr Kaminski

3

นี่คือบันทึกการเปลี่ยนแปลงที่สมบูรณ์และสิ่งที่ฉันเข้าใจเกี่ยวกับการเปลี่ยนแปลงนี้

และไฟล์ใดที่ได้รับผลกระทบจากสาเหตุที่แสดงด้านล่าง

Escape Html change

ไฟล์

app/code/core/Mage/Adminhtml/Block/Report/Review/Detail.php
app/code/core/Mage/Adminhtml/Block/Report/Tag/Product/Detail.php
app/code/core/Mage/Adminhtml/Block/Review/Add.php
app/code/core/Mage/Adminhtml/Block/Review/Edit/Form.php
app/code/core/Mage/Sales/Block/Adminhtml/Billing/Agreement/Grid.php
app/design/adminhtml/default/default/template/sales/billing/agreement/view/tab/info.phtml
app/design/adminhtml/default/default/template/xmlconnect/edit/tab/content.phtml
app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/image_edit.phtml
js/mage/adminhtml/backup.js

เพิ่ม DS แทน '/'

app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php

เพิ่มไฟล์ใหม่แล้ว

app/code/core/Zend/Form/Decorator/Form.php
lib/Varien/Filter/FormElementName.php

ไฟล์การเปลี่ยนแปลงที่สมบูรณ์

app / รหัส / core / Mage / Adminhtml / รุ่น / ระบบ / config / Backend / Filename.php

 class Mage_Adminhtml_Model_System_Config_Backend_Filename extends Mage_Core_Model_Config_Data
 {
+
+ /**
+ * Config path for system log file.
+ */
+ const DEV_LOG_FILE_PATH = 'dev/log/file';
+
+ /**
+ * Config path for exception log file.
+ */
+ const DEV_LOG_EXCEPTION_FILE_PATH = 'dev/log/exception_file';
+
+ /**
+ * Processing object before save data
+ *
+ * @return Mage_Adminhtml_Model_System_Config_Backend_Filename
+ * @throws Mage_Core_Exception
+ */
 protected function _beforeSave()
 {
- $value = $this->getValue();
- $value = basename($value);
+ $value = $this->getValue();
+ $configPath = $this->getPath();
+ $value = basename($value);
+
+ // if dev/log setting, validate log file extension.
+ if ($configPath == self::DEV_LOG_FILE_PATH || $configPath == self::DEV_LOG_EXCEPTION_FILE_PATH) {
+ if (!Mage::helper('log')->isLogFileExtensionValid($value)) {
+ throw Mage::exception('Mage_Core', Mage::helper('adminhtml')->__
+ ('Invalid file extension used for log file. Allowed file extensions: log, txt, html, csv'));
+ }
+ }
+
     $this->setValue($value);
     return $this;
 }

เพิ่มวิธีการ getCacheId () และ getServiceUrl ()

app/code/core/Mage/Api/Helper/Data.php

เพิ่มวิธี unserialize ()

app/code/core/Mage/Core/Helper/String.php

ใช้เมธอด getServiceUrl () ที่สร้างในแอป / รหัส / core / Mage / Api / Helper / Data.php

app/code/core/Mage/Api/Model/Server/Adapter/Soap.php
app/code/core/Mage/Api/Model/Wsdl/Config/Base.php

ใช้เมธอด getCacheId () ที่สร้างขึ้นในแอพ / code / core / Mage / Api / Helper / Data.php

app/code/core/Mage/Api/Model/Wsdl/Config.php

ใช้unserialize()วิธีการด้านบนที่สร้างในแอป / รหัส / core / Mage / Core / Helper / String.php

app/code/core/Mage/Eav/Model/Entity/Attribute/Backend/Serialized.php
app/code/core/Mage/Rule/Model/Abstract.php

การเปลี่ยนแปลงความคิดเห็น

app/code/core/Mage/Core/Model/File/Validator/Image.php
app/code/core/Mage/Core/etc/system.xml

เพิ่มความคิดเห็นแล้ว

app/code/core/Mage/Core/etc/config.xml

เพิ่มความยาวรหัสผ่านสูงสุด

app/code/core/Mage/Customer/Model/Customer.php

เพิ่มอนุญาตให้มีนามสกุลไฟล์ // $ _ allowFileExtensions = array ('log', 'txt', 'html', 'csv');

app/code/core/Mage/Log/Helper/Data.php

ไม่รู้จะเปลี่ยนแปลงอะไร

app/design/adminhtml/default/default/template/backup/dialogs.phtml

รายการปัญหา

SUPEE-10415 ป้องกันการควบคุมตะกร้า

รับรหัสข้อผิดพลาด # 10415 ใน paypal ใน magento


1

การพยายามทำสิ่งนี้บน Magento EE 1.13.0.2 และดูเหมือนว่าโปรแกรมปรับปรุงนี้จะเล่นได้ไม่ดีถ้าติดตั้ง SUPEE-6482

Checking patch app/code/core/Mage/Api/Model/Server/Adapter/Soap.php...
error: while searching for:
            ->setUseSession(false);

        $wsdlUrl = $params !== null
            ? $urlModel->getUrl('*/*/*', array('_current' => true, '_query' => $params))
            : $urlModel->getUrl('*/*/*');

        if( $withAuth ) {
            $phpAuthUser = $this->getController()->getRequest()->getServer('PHP_AUTH_USER', false);

error: patch failed: app/code/core/Mage/Api/Model/Server/Adapter/Soap.php:205

SUPEE-6482 เปลี่ยนบรรทัดด้วย$phpAuthUserเป็น

$phpAuthUser = rawurlencode($this->getController()->getRequest()->getServer('PHP_AUTH_USER', false));

ไม่เพียง แต่ความ$phpAuthUserแตกต่างของระยะบรรทัดก่อนหน้า->setUseSession(false);นั้นยังไม่ถูกต้องด้วย
DanCarlyon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.