นี่คือรายการของไฟล์ที่ถูกแก้ไขโดยแพตช์ SUPEE-10570:
app/Mage.php
app/code/core/Mage/Admin/Helper/Data.php
app/code/core/Mage/Admin/Model/Block.php
app/code/core/Mage/Admin/Model/Resource/Block.php
app/code/core/Mage/Admin/Model/User.php
app/code/core/Mage/Adminhtml/Block/Catalog/Category/Edit/Form.php
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Grid.php
app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Grid/Renderer/Sender.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Info.php
app/code/core/Mage/Adminhtml/Block/System/Store/Edit/Form.php
app/code/core/Mage/Adminhtml/Block/Tag/Assigned/Grid.php
app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Renderer/Store.php
app/code/core/Mage/Adminhtml/Block/Widget/Tabs.php
app/code/core/Mage/Adminhtml/Model/Config/Data.php
app/code/core/Mage/Adminhtml/Model/System/Store.php
app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php
app/code/core/Mage/Adminhtml/controllers/CustomerController.php
app/code/core/Mage/Adminhtml/controllers/System/BackupController.php
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
app/code/core/Mage/Core/Model/Variable.php
app/code/core/Mage/Customer/Helper/Data.php
app/code/core/Mage/Customer/Model/Resource/Customer.php
app/code/core/Mage/Customer/controllers/AccountController.php
app/code/core/Mage/Customer/etc/config.xml
app/code/core/Mage/Customer/sql/customer_setup/upgrade-1.6.2.0.1.1.1-1.6.2.0.1.1.2.php
app/code/core/Mage/Downloadable/etc/config.xml
app/code/core/Mage/Downloadable/etc/system.xml
app/code/core/Mage/Downloadable/sql/downloadable_setup/upgrade-1.6.0.0.2.1.1-1.6.0.0.2.1.2.php
app/code/core/Mage/ImportExport/Model/Import.php
app/code/core/Mage/ImportExport/Model/Import/Entity/Product.php
app/code/core/Mage/Shipping/Model/Info.php
app/code/core/Mage/Widget/controllers/Adminhtml/Widget/InstanceController.php
app/design/adminhtml/default/default/template/catalog/product/attribute/set/main.phtml
app/design/adminhtml/default/default/template/customer/tab/view.phtml
app/design/adminhtml/default/default/template/customer/tab/view/sales.phtml
app/design/adminhtml/default/default/template/dashboard/store/switcher.phtml
app/design/adminhtml/default/default/template/downloadable/product/composite/fieldset/downloadable.phtml
app/design/adminhtml/default/default/template/downloadable/product/edit/downloadable/links.phtml
app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/creditmemo/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/name.phtml
app/design/adminhtml/default/default/template/newsletter/preview/store.phtml
app/design/adminhtml/default/default/template/report/store/switcher.phtml
app/design/adminhtml/default/default/template/sales/order/view/info.phtml
app/design/adminhtml/default/default/template/store/switcher.phtml
app/design/adminhtml/default/default/template/store/switcher/enhanced.phtml
app/design/adminhtml/default/default/template/system/convert/profile/wizard.phtml
app/design/adminhtml/default/default/template/tax/rate/title.phtml
app/design/adminhtml/default/default/template/widget/form/renderer/fieldset.phtml
app/locale/en_US/Mage_Catalog.csv
app/locale/en_US/Mage_ImportExport.csv
lib/Zend/Mail/Transport/Sendmail.php
แก้ไข
ในที่สุดหลังจากการปรับใช้บนเว็บไซต์ของฉัน (CE 1.7.0.2) ฉันสังเกตเห็นปัญหาการบล็อกที่สำคัญ (กระบวนการเช็คเอาต์ถูกปิดกั้น)
บริบท:
หลังจากที่อยู่ขั้นตอนที่ 1 ฉันสร้างและบันทึกลูกค้าโดยตรงเขาควรเห็นขั้นตอนการชำระเงินถัดไปเท่านั้น
ปัญหา:
หลังจาก supee-10570 กระบวนการเช็คเอาต์จะหักหลังจากขั้นตอนที่ 1 (ในกรณีที่สร้างบัญชี) และลูกค้าถูกเปลี่ยนเส้นทางไปยังหน้าแรก (ด้วยตะกร้าสินค้าว่างเปล่า + ออกจากระบบตะกร้า) = เป็นไปไม่ได้ที่จะทำการเช็คเอาต์
การแก้ไขฉุกเฉิน:
ในกรณีที่คุณพบปัญหาที่คล้ายกันกับการเช็คเอาต์ / ลูกค้าของคุณแสดงความคิดเห็นบรรทัด 414-430 จากแอพ / รหัส / core / Mage / Core / รุ่น / เซสชัน / บทคัดย่อ / Varien.php (คนที่เพิ่มโดยแพทช์ ดูด้านล่าง)
// if ($this->useValidateSessionPasswordTimestamp()
// && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
// && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
// && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
// > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
// ) {
// return false;
// }
// if ($this->useValidateSessionExpire()
// && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
// && $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] < time() ) {
// return false;
// } else {
// $this->_data[self::VALIDATOR_KEY][self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP]
// = $validatorData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP];
// }
แก้ไข (2)
ฉันคิดว่าเงื่อนไขต่อไปนี้จะคืนค่าเป็นเท็จเสมอ (Mage_Core_Model_Session_Abstract_Varien ที่บรรทัด 414-419 โดยเฉพาะอย่างยิ่งบรรทัด 417 + 418)
if ($this->useValidateSessionPasswordTimestamp()
&& isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
&& isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
&& $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
> $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
) {
return false;
VALIDATOR_PASSWORD_CREATE_TIMESTAMP จะมากกว่า VALIDATOR_SESSION_EXPIRE_TIMESTAMP เสมอ การประทับเวลาของเซสชัน "หมดอายุ" ถูกกำหนดใหม่เมื่อสร้างบัญชีดังนั้นจึงเก่ากว่าเซสชัน init อย่างหลีกเลี่ยงไม่
ตัวอย่างเช่นหากคุณสร้างลูกค้าระหว่างการชำระเงินสิ่งนี้จะส่งคืนค่าเท็จและลูกค้าจะเพิ่งเริ่มต้น (= สิ้นสุดการชำระเงินเปลี่ยนเส้นทางไปยังหน้าแรก & รถเข็นว่างเปล่า) ค่อนข้างแย่
ฉันได้รายงานปัญหานี้ให้ทีมงานคุณภาพเยี่ยม ฉันจะให้ข้อเสนอแนะที่นี่โดยเร็ว
แก้ไข (3)
แพทช์ใหม่เป็น wip (บนหน้าดาวน์โหลดแพทช์ magento มันเขียนว่า "SUPEE-10570 สำหรับ CE 1.7.0.0 - แพทช์อัพเดทที่คาดไว้อย่าใช้ (0.06 MB)"
แก้ไข (4) ~ 1 เดือนหลังจากรายงานปัญหาการบล็อกครั้งแรก
Hi! หวังว่าคุณจะเป็นสินค้าทั้งหมด (และหวังว่าคุณจะไม่ได้รับสถานะแพตช์เริ่มต้นจนถึงตอนนี้เว้นแต่ว่ารายได้ของคุณจะลดลงอย่างจริงจัง ^^)
ฉันสังเกตเห็นประโยคต่อไปนี้จากหน้าอย่างเป็นทางการ: "ตอนนี้วีโอไอพีได้มอบแพตช์ที่อัพเดตแล้ว (SUPEE-10570v2) ซึ่งไม่ทำให้เกิดปัญหานี้อีกต่อไปหมายเหตุอย่างไรก็ตามแพทช์ใหม่นี้ไม่ได้ป้องกันเซสชันที่มีความเสี่ยงต่ำอีกต่อไป ปัญหาด้านความปลอดภัยที่แพทช์ SUPEE-10570 ป้องกัน " จากหน้า supee-10570 อย่างเป็นทางการ
ในหน้าการเปิดตัวในที่สุดเราสามารถหาไฟล์ v2 (PATCH_SUPEE-10570_CE_v1.7.0.2_v2-2018-03-29-08-52-37.sh)
ฉันตรวจสอบการแก้ไขโดยละเอียด ในที่สุดดูเหมือนว่าทีมวีโอไอพีจะตัดสินใจทิ้งส่วนรักษาความปลอดภัยของแพทช์ หวังว่าช่องโหว่นี้จะไม่ก่อให้เกิดความเสียหายร้ายแรง
หลังจาก revert v1 + ใช้ v2 โปรดดูแลไฟล์ต่อไปนี้จะถูกเปลี่ยนกลับเป็นสถานะเริ่มต้น (ก่อนที่จะใช้ v1):
app/code/core/Mage/Adminhtml/controllers/CustomerController.php
app/code/core/Mage/Customer/controllers/AccountController.php
app/code/core/Mage/Customer/Helper/Data.php
app/code/core/Mage/Customer/Model/Resource/Customer.php
PS: เห็นได้ชัดว่ามีบางไฟล์อื่น ๆ ที่มีการแก้ไขโปรดตรวจสอบตาม