Bản vá bảo mật SUPEE-7405 - Vấn đề có thể xảy ra?


140

Đã đến lúc cho một ngày vá lỗi khác, SUPEE-7405 cho Magento 1.x đã hết và danh sách các bản sửa lỗi còn dài: https://magento.com/security/patches/supee-7405

Sau khi trải nghiệm với các bản vá cuối cùng, tôi phải hỏi lại: những vấn đề có thể xảy ra khi áp dụng bản vá là gì và tôi cần xem xét điều gì?

Rất nhiều sự cố XSS đã được khắc phục một lần nữa, vì vậy tôi hy vọng sẽ vá các chủ đề tùy chỉnh theo cách thủ công. Còn gì nữa không? Có những thay đổi không tương thích ngược?


2
GG không thể đánh bại một bản vá khác
Bobadevv

6
Một vấn đề mà chúng tôi gặp phải hôm nay khi vá phiên bản của chúng tôi (EE 1.14.0.1. ...) SUPEE-7405 khiến màn hình Chi tiết Đơn hàng Quản trị của chúng tôi bị trống / hỏng. Hàng đợi thứ tự hiển thị nhưng nhấp vào bất kỳ đơn hàng nào sẽ trả về trang chi tiết đơn hàng bị hỏng. Chúng tôi đã không phát hiện ra điều này cho đến khi chúng tôi đưa nó vào sản xuất. - Đang chờ phản hồi từ Hỗ trợ Magento.
Moonman67

6
Cũng vừa phát hiện URL API SOAP của chúng tôi (/index.php/api/v2_soap/index/?wsdl=1) hiện đang gây ra lỗi 500. Nếu bạn dựa vào SOAP như tôi ... KHÔNG cài đặt bản vá cho đến khi điều này được giải quyết
Moonman67

4
Các tệp được tải lên thông qua bảng quản trị (tức là tải lên hình ảnh sản phẩm) hiện không thể đọc được trên thế giới theo mặc định (0640). Thư mục cũng không phải là thực thi thế giới (0750). Điều này có thể gây ra sự cố với hình ảnh không xuất hiện trên trang web nếu máy chủ web chạy như một người dùng khác với php (tức là php-fpm với tư cách là người dùng, máy chủ web không phải là ai cho các tệp tĩnh).
Rob Mangiafico

3
- tất cả các bản vá trước đó cần được áp dụng (và nếu bạn chưa áp dụng, đặc biệt là Shoplift, bạn có thể cho rằng cửa hàng của mình đã bị hack - kiểm tra các quản trị viên không xác định, mã lạ, v.v.) - trang đặt hàng có thể bị hỏng trên PHP 5.3 - mã sử dụng câu lệnh PHP 5.4.
Piotr Kaminski

Câu trả lời:


156

Cập nhật ngày 23 tháng 2 năm 2016 : Bản vá đã được cập nhật lên V1.1, khắc phục một số vấn đề quan trọng được liệt kê trong bài đăng này, đây là danh sách:

  • Cart Merge Patch (SUPEE-7978) : Xe đẩy với các mặt hàng giống hệt nhau hiện hợp nhất chính xác. Trước đây, khi một giỏ hàng với một mặt hàng được hợp nhất với một giỏ hàng khác có cùng mặt hàng đó, Magento đã không hợp nhất tổng số giỏ hàng một cách chính xác. Giỏ hàng hiện chỉ bao gồm một mặt hàng và tổng số là chính xác.
  • Bản vá API SOAP (SUPEE-7822) : API SOAP Magento hiện hoạt động như mong đợi. Trước đây sau khi cài đặt bản vá SUPEE-7405 v1.0, yêu cầu API sẽ gây ra lỗi 500 và Magento sẽ ghi lại một ngoại lệ.
  • Khả năng tương thích PHP 5.3 (SUPEE-7882) : Bản vá không tương thích với PHP 5.3 cho các phiên bản Magento trước đó vẫn hỗ trợ phiên bản này. Các thương nhân gặp phải vấn đề này không thể xem thông tin bán hàng trong Quản trị viên.
  • Quyền tải lên tệp : Bản vá khôi phục quyền hạn tệp ít hạn chế hơn (0666 cho tệp và 0777 cho thư mục) vì các quyền nghiêm ngặt hơn được giới thiệu bởi bản vá SUPEE-7405 ban đầu khiến nhiều thương nhân không thể xem hình ảnh sản phẩm được tải lên, tùy thuộc vào cấu hình nhà cung cấp dịch vụ lưu trữ .

Sau khi đào sâu vào bản vá, đây là những điều có liên quan / thú vị mà tôi đã tìm thấy (NB: danh sách này đã được tạo bằng cách phân tích bản vá cho CE 1.9.2.0-1.9.2.2, có lẽ nhiều hơn cho các bản vá ảnh hưởng đến các phiên bản cũ của Magento) :

  • (cố định trong V1.1 của bản vá) Việc sử dụng []thay vì array()trong bản vá này làm cho nó không tương thích với PHP <5.4 (xem các vấn đề đã biết bên dưới)
  • Như đã nêu, hầu hết các thay đổi là thoát html và vệ sinh dữ liệu liên quan đến các vấn đề XSS.
  • Xác thực khóa biểu mẫu đã được thêm vào đăng nhập quản trị viên trongMage_Admin_Model_Observer
  • Xác thực khóa biểu mẫu đã được thêm vào quản trị viên quên mật khẩu trongMage_Adminhtml_IndexController
  • Xác thực khóa biểu mẫu đã được thêm vào mật khẩu đặt lại của quản trị viên trongMage_Adminhtml_IndexController
  • Xác thực khóa biểu mẫu đã được thêm vào hành động xóa giỏ hàng . Chìa khóa hình thức sẽ được thêm vào getDeleteUrlcủa Mage_Checkout_Block_Cart_Item_Renderervà xác nhận trong deleteActioncác Mage_Checkout_CartController.
  • Các sự kiện hiện được gửi đi tất cả các chữ thường (mọi tệp cấu hình bị ảnh hưởng đã được sửa đổi, ví dụ như controller_action_postdispatch_checkout_onepage_saveOrdertrở thành controller_action_postdispatch_checkout_onepage_saveorder). Điều này không ảnh hưởng đến cấu hình quan sát cục bộ của bạn . Thêm thông tin tại đây: https://twitter.com/foomanNZ/status/689924329065164800
  • Một validator mới để kiểm tra xem một tập tin tải lên một hình ảnh đã được thêm vào:Mage_Core_Model_File_Validator_Image
  • Một phần Nhập / Xuất mới xuất hiện:System => Configuration =>Advanced > System => Escape CSV Fields
  • Sự kiện mới được gửi đi:admin_user_validate dướiMage_Admin_Model_User
  • SVG không phải là một phần mở rộng favicon hợp lệ nữa
  • Đối với những người sử dụng Authorizenet (tôi không), có vẻ như một vài thay đổi đã được thực hiện, không chắc nó ảnh hưởng đến hệ thống như thế nào. Các thay đổi bao gồm một trình trợ giúp quản trị viên mới ( Mage_Authorizenet_Helper_Admin) được sử dụng để nhận url đặt hàng thành công.
  • Lớp Zend mới :Zend_Xml_Security . Mục đích của nó là quét chuỗi XML cho các cuộc tấn công XXE và XEE tiềm năng. Tuy nhiên tôi không tìm thấy bất kỳ tài liệu tham khảo nào trong các tệp sửa đổi khác.
  • Các tệp được tải lên thông qua bảng quản trị (tức là tải lên hình ảnh sản phẩm) hiện không thể đọc được trên thế giới (trước: 777 / sau: 640).
  • Các thư mục cũng không được thực thi trên thế giới (trước 755 / sau: 750). Điều này có thể gây ra sự cố với hình ảnh không xuất hiện trên trang web nếu máy chủ web chạy như một người dùng khác với php (tín dụng: @Rob Mangiafico)
  • Về các mẫu frontend : các sửa đổi duy nhất được thực hiện là thoát dữ liệu , không phải là bộ ngắt hệ thống nhưng vẫn được khuyến nghị thực hiện trên chủ đề tùy chỉnh của bạn (và chỉ có hai tệp frontend bị ảnh hưởng không nhiều công việc;))

Các vấn đề đã biết sau khi vá:

Tôi sẽ cố gắng giữ danh sách này cập nhật nhất có thể.

Trước khi bắt đầu một vấn đề / câu hỏi mới, hãy đảm bảo bạn đã áp dụng tất cả các bản vá trước đó vì có vẻ như rất nhiều vấn đề đến từ các bản vá bị thiếu.

Một điều nữa là: nếu bạn đã sửa đổi các tệp lõi, áp dụng bản vá có thể thất bại. Nếu bạn gặp Hunk # failed atlỗi đối với một tệp cụ thể và bạn chắc chắn 100% đã áp dụng tất cả các bản vá trước đó, vui lòng đảm bảo bạn có tệp gốc từ phiên bản Magento của mình bằng cách kiểm tra bản sao: https://github.com / OpenMage / magento-gương /

Danh sách các tập tin bị ảnh hưởng

Nó có thể được tìm thấy trên trang này ở đây: https://magento.stackexchange.com/a/98232/2380 (tín dụng @MagenX)

Chỉ EE

  • Nếu bạn đã cập nhật từ Magento EE 1.14.2.x lên Magento EE 1.14.2.3 thay vì áp dụng bản vá và cũng đã áp dụng bản vá hỗ trợ SUPEE-5984 trước đó, bạn phải đăng ký lại vì nó không được bao gồm trong bản phát hành . => https://magento.stackexchange.com/a/98805/2380

Về Bản vá 7616:

Tài nguyên tốt về các bản vá Magento

Hãy cho tôi biết nếu tôi bỏ lỡ một cái gì đó.


1
Bạn đã đề cập đến vấn đề của tôi "Vấn đề có thể xảy ra khi áp dụng 7616 trước khi áp dụng 7405: SUPEE 7405 - Hunk # 2 Thất bại ở 43" là một vấn đề EE, khi tôi thực sự sử dụng CE.
Liam McArthur

1
Bạn nói đúng, xấu của tôi, tôi đã sửa nó.
Raphael tại Nghệ thuật piano kỹ thuật số

1
Các sự kiện hiện được gửi đi tất cả các trường hợp thấp hơn : Điều này có nghĩa là chúng ta phải kiểm tra / thay đổi cấu hình quan sát viên cục bộ?
hellimac

1
@hellimac Tôi sẽ kiểm tra điều này trong vài giờ tới, tôi sẽ cập nhật bài viết nếu nó ảnh hưởng đến cấu hình quan sát viên cục bộ.
Raphael tại Nghệ thuật piano kỹ thuật số

5
@hellimac Không, các giá trị từ config.xml cũng được chuyển đổi thành chữ thường khi đọc: twitter.com/foomanNZ/status/689924329065164800
Fabian Schmengler

34

Một vấn đề tôi nhận thấy là nếu trang web của bạn đang sử dụng phiên bản ít hơn PHP 5.4 thì bản vá không tương thích.

Trong lớp Mage_Adminhtml_Helper_Salesxung quanh số dòng 124. Mã là:

$links = [];

Tôi cần phải mở rộng điều này thành:

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

        $links = array();

Một lỗi khác mà tôi gặp phải dường như liên quan đến các cookie tôi đã đặt. Khi tôi xóa cookie của mình, tất cả các trang đã được tải tốt.

Lỗi ví dụ:

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

Tôi không chắc có ai gặp phải những vấn đề này không, nhưng hy vọng nó có ích!


1
Tôi đã thấy điều tương tự trong mã chúng tôi đã vá. Bản vá đồng thời sửa các lỗi dành riêng cho PHP 5.3 và phá vỡ tính tương thích với PHP 5.3.
Jim OHalloran

Không thực sự là một câu trả lời, chỉ cần thêm thông tin: Áp dụng bản vá 7405 cho trang web Magento 1.5.1 (vâng tôi biết ...) là khó khăn và, một khi "thành công" gây ra lỗi front-end và quản trị viên hoàn toàn không có. Trang web nằm trên php v5.3.1 - may mắn là tôi có thể khôi phục lại nó. Tôi có một bản cài đặt v1.9 khác trên php 5.3.3 mà tôi đang thử nghiệm ... cảm thấy do dự để xóa bộ đệm ngay bây giờ
Jon Holland

Có thể xác nhận, Mag 1.9.0.1 trên php 5.3.3 cố gắng xem bản ghi đơn hàng trong quản trị viên chỉ là khu vực nội dung trắng. Thay đổi đề nghị khắc phục vấn đề. Điểm tốt.
Jon Holland

22

Đây là một vấn đề tôi đã tìm thấy khi vá Magento CE với SUPEE-7405. Nó thay thế dòng:

chmod($destinationFile, 0777);

với:

chmod($destinationFile, 0640);

Trong tập tin lib/Varien/File/Uploader.php

Điều này đã dừng hình ảnh của tôi hiển thị ở mặt sau, vì quyền của tệp này thực sự phải là 644. Có lý do nào điều này được đặt thành 640 không?


1
Tôi có vấn đề tương tự trong Magento ver. Hình ảnh 1.7.0.2 có thể được tải lên thành công nhưng không hiển thị trong phần phụ trợ do vấn đề cấp phép. Nếu tôi thay đổi quyền 0640 thành 0644 thì hình ảnh có thể hiển thị, đó không phải là giải pháp chính xác. Vì vậy, tôi đoán người magento cần phải khắc phục điều này hoặc đưa ra bất kỳ giải pháp nào khác cho việc này.
jyotiranjan.in

Tôi giả sử apache / nginx nên được cấu hình trong cùng một nhóm mà php-fpm tạo ra hình ảnh, có ai biết ý nghĩa bảo mật của nó không?
jzahedieh

Đó là suPHP gây ra cho tôi vấn đề tôi nghĩ! Tôi đã vô hiệu hóa nó và kích hoạt php-cgi thay vào đó đã tăng tốc độ trang nhưng tôi vẫn gặp sự cố về quyền. Tôi không chắc chắn về ý nghĩa bảo mật nên tôi sẽ rời khỏi nó. Tôi không muốn mở bất kỳ lỗ hổng bảo mật! Tôi muốn chỉnh sửa tập tin cốt lõi!
Liam McArthur

3
về cơ bản, vấn đề là apache không chạy cùng một người dùng như php. Thay đổi quyền thành 640 có nghĩa là các tệp không còn có thể đọc được trên thế giới. Bạn sẽ cần đảm bảo rằng apache đang chạy cùng một người dùng với php. Điều này có thể khó nếu cpanel đang chạy của bạn một cách tiếp cận tốt đẹp sẽ đặt nhóm thành không có ai và làm cho điều này trở nên khó khăn, ví dụ:chown USERNAME:nobody -R public_html find ./public_html -type d -exec chmod g+s {} \;
rob3000

Bất kỳ giải pháp cho điều này?
Arvind07

21

Khi đăng ký Magento 1.7.0.0, cố gắng xóa nhận xét về 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

mà không được thêm cho đến 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


Tôi vừa thêm dòng đó vào 1.7.0.0 iframe.phtml và chạy lại bản vá và đã thành công
Danny Z

1
@DannyZ điều tương tự ở đây chỉ nghĩ rằng tôi nên ghi chú về nó ở đâu đó :)
rob3000

19

các tệp này được vá, bạn có thể thấy bất kỳ tác động nào có thể xảy ra:
mẫu: mẫu quản trị hầu hết được vá.

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

cốt lõi / 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 chỉ để giữ tất cả lại với nhau, chúng tôi đã tạo ra một số bội số "không có trí tuệ" để vá nhiều máy chủ với nhiều cài đặt magento. bội số 7405.sh


Đẹp! Không thể ghi đè các tập tin chủ đề đó để vá .sh chỉ có thể làm việc của nó: D
Bobadevv

1
Làm rất tốt Bội số là một ý tưởng tuyệt vời; Tôi chỉ muốn Magento phát hành băm SHA1 cho các bản vá của họ để chúng tôi có thể xác minh rằng chúng khớp với các nguồn bên ngoài
philwinkle

điều này có thể được đơn giản hóa bằng cách truy cập trực tiếp vào kho lưu trữ web magento để cuộn tròn tất cả các bản vá, nhưng chúng tôi đã gặp một số vấn đề với nó. và yêu cầu nhập chi tiết đăng nhập của bạn ... magento wtf ...
MagenX

14

Đây là kế hoạch kiểm tra cơ bản của tôi:

  • Áp dụng phiếu giảm giá
  • Đăng nhập vào quản trị viên
  • Buộc quản trị viên thay đổi mật khẩu
  • Xuất CSV
  • Nhập CSV
  • Đặt lại mật khẩu là quản trị viên và khách hàng
  • Tạo một đơn đặt hàng trong quản trị viên
  • Tạo và đặt hàng ở phía trước với tư cách là khách
  • Tạo và đặt hàng ở mặt trước với tư cách là khách hàng
  • Thêm một hình ảnh vào một sản phẩm
  • Tạo một bản ghi nhớ tín dụng
  • Tạo hóa đơn

Làm thế nào chính xác danh sách này sẽ giúp tôi hiểu các lỗi gây ra bởi bản vá này hoặc nó chỉ là một nhà phát triển có bàn tay cong ???
MagenX

@MagenX Tôi không biết nhà phát triển có bàn tay cong nghĩa là gì. Nhưng khi tôi khác bản vá, tôi đã lập một danh sách những thứ có thể có vấn đề.
Brideo

@MagenX vì vậy sau khi áp dụng bản vá, tôi sẽ kiểm tra các khu vực đó, xin lỗi nếu nó không hữu ích.
Brideo

À, bộ kiểm tra cơ bản cho sau khi kiểm tra bản vá để đảm bảo bạn tìm thấy cảm giác trước khi khách hàng và nhân viên của bạn làm ... Làm cho cảm giác hoàn hảo khi nó thực hiện các khu vực bị ảnh hưởng bởi các tệp được vá.
Phòng thí nghiệm Fiasco

Đây sẽ là một câu trả lời hay (tốt hơn?) Cho câu hỏi này tại đây: magento.stackexchange.com/questions/98565/iêu
Anna Völkl




8

Ảnh chụp màn hình cho trang chi tiết đặt hàng của quản trị viên, Nếu hiển thị vấn đề loại này, vui lòng làm theo hướng dẫn bên dưới để nó hoạt động cho tôi !!nhập mô tả hình ảnh ở đây

Giải pháp

Thay đổi dòng 124 trong ứng dụng / mã / lõi / Mage / adminhtml / Helper / Sales.php từ $ links = []; đến $ links = mảng ();


7

Bất cứ khi nào chúng tôi cài đặt một bản vá cho một trong các khách hàng của mình, chúng tôi sử dụng danh sách kiểm tra sau:

  • Tạo một bản sao lưu đầy đủ của các tập tin trang web và cơ sở dữ liệu.
  • Đảm bảo rằng tất cả các bản vá trước đó đã được cài đặt thành công (có thể nhìn thấy trong app/etc/applied.patches.listtệp)
  • Sau khi cài đặt thành công bản vá, xóa bộ nhớ cache và thực hiện lệnh kiểm tra để đảm bảo mọi thứ hoạt động.

Tôi đoán đó thực sự là tất cả. Các bản vá được thiết kế để được cài đặt nhanh chóng và không gặp rắc rối. 9 trên 10 lần họ sẽ cài đặt hoàn toàn tốt và trong những lần khác chúng tôi có bản sao lưu. Miễn là bạn không làm phiền với các tập tin cốt lõi thì mọi thứ sẽ ổn.


tập tin có lẽapp/etc/applied.patches.list
MagenX

3
Tôi không cảm thấy như thế này trả lời câu hỏi. OP đang đề cập đến SUPEE-6788, yêu cầu hàng tấn công việc thủ công trong các phần mở rộng của bên thứ ba, chứ không phải cách áp dụng một bản vá.
Robbie Averill

OP đang đề cập đến SUPEE-6788 Robbie, không phải 6788.
Gary Olderman

Xin lỗi, để làm rõ câu hỏi rõ ràng là về 7405 nhưng được hỏi trong cơn ác mộng là 6788 - đó là bối cảnh
Robbie Averill

6

ở đây các tập tin bị ảnh hưởng cho 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

Sau khi áp dụng SUPEE-7405 trên Magento 1.14.1.0, tôi đã gặp lỗi:

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

Sự cố xảy ra do phương thức khai báo lại _validateControllInstance trong

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

Sau khi loại bỏ khai báo hàm thứ hai (cùng), vấn đề đã được giải quyết.


5

Tôi đã gặp lỗi sau khi cài đặt bản vá SUPEE-7405 khi thử đăng nhập vào quản trị viên.

Lỗi nghiêm trọng: Gọi đến phương thức không xác định Mage_Core_Controll_Response_Http :: sendHeadersAndExit () trong
\ app \ code \ core \ Mage \ Admin \ Model \ Session.php trên dòng 135

bởi vì tôi có tập tin này bị ghi đè trong nhóm mã cục bộ không có sendHeadersAndExit phương thức được tạo bởi bản vá này.

\app\code\local\Mage\Core\Controller\Response\Http.php phương pháp sau không tồn tại. (Đây là một phương pháp mới được thêm vào tệp lõi)

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

Sau khi thêm điều này vào vấn đề tập tin bị ghi đè đi.


3

Một trong những vấn đề tôi gặp phải khi sử dụng SUPEE-7405 là lỗi tải lên hình ảnh

Do đó, tôi kiểm tra các thay đổi trong tệp này: 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, đúng))) {

Sau đó, tôi tìm ra hai cách để vượt qua nó:

Lựa chọn 1:

Tôi thực hiện thay đổi thủ công trên tệp tệp lib / Varien / File / Uploader.php để điều chỉnh quyền 0640/0750.

Tùy chọn 2: Vì Magento mong muốn máy chủ web sở hữu các tệp trang web:

http://devdocs.magento.com/guides/m1x/install/installer-priv đặc biệt_after.html#privs-after

Một cách khác để giải quyết vấn đề là làm cho máy chủ web trở thành chủ sở hữu của các tệp

chown -R web-server-user-name magento / root / path

Tên người dùng máy chủ web thường là dữ liệu www hoặc apache.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.