보안 패치 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 Support에서 응답을 기다리는 중입니다.
Moonman67

6
또한 SOAP API URL (/index.php/api/v2_soap/index/?wsdl=1)에 500 오류가 발생했습니다. 나처럼 SOAP에 의존한다면 ... 패치가 해결 될 때까지 패치를 설치하지 마십시오
Moonman67

4
관리자 패널을 통해 업로드 된 파일 (예 : 제품 이미지 업로드)은 이제 기본적으로 읽을 수 없습니다 (0640). 디렉토리는 또한 세계적으로 실행 가능하지 않다 (0750). 웹 서버가 php와 다른 사용자로 실행되는 경우 웹 사이트에 이미지가 표시되지 않는 문제가 발생할 수 있습니다 (예 : php-fpm은 사용자, 웹 서버는 정적 파일이 없음).
Rob Mangiafico

3
-이전의 모든 패치를 적용해야합니다 (특히 Shoplift 패치를 적용하지 않은 경우 상점이 이미 해킹 당했다고 가정 할 수 있습니다-알 수없는 관리자, 이상한 코드 등을 확인하십시오)-주문 페이지가 PHP 5.3에서 손상되었을 수 있습니다 -코드는 PHP 5.4 문을 사용합니다.
Piotr Kaminski

답변:


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)을 복원합니다. .

패치를 파고 들고 나면 내가 찾은 관련 / 흥미로운 것들이 있습니다 (NB :이 목록은 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_saveOrdercontroller_action_postdispatch_checkout_onepage_saveorder). 이것은 로컬 옵저버 구성에 영향을 미치지 않습니다 . 자세한 내용은 여기 : https://twitter.com/foomanNZ/status/689924329065164800
  • 업로드 된 파일이 이미지인지 확인 하는 새로운 유효성 검사기 가 추가되었습니다.Mage_Core_Model_File_Validator_Image
  • 새로운 가져 오기 / 내보내기 섹션이 나타납니다 :System => Configuration =>Advanced > System => Escape CSV Fields
  • 새로운 이벤트 파견 :admin_user_validate 미만Mage_Admin_Model_User
  • SVG는 더 이상 유효한 파비콘 확장이 아닙니다
  • Authorizenet을 사용하는 사람들에게는 (몇 가지) 변경 사항이 있지만 시스템에 어떤 영향을 미치는지 확실하지 않습니다. Mage_Authorizenet_Helper_Admin성공 주문 URL을 얻는 데 사용되는 새로운 관리자 도우미 ( )가 변경되었습니다 .
  • 새로운 젠드 수업 :Zend_Xml_Security . 그 목적은 잠재적 인 XXE 및 XEE 공격에 대해 XML 문자열을 스캔하는 것입니다. 그러나 다른 수정 된 파일에서 그것에 대한 참조를 찾지 못했습니다.
  • 관리자 패널을 통해 업로드 된 파일 (예 : 제품 이미지 업로드) 은 기본적으로 세계에서 읽을 수 없습니다 (이전 : 777 / 이후 : 640).
  • 디렉토리는 월드 실행 파일이 아닙니다 (755 이전 / 이후 : 750). 웹 서버가 PHP와 다른 사용자로 실행되는 경우 웹 사이트에 이미지가 표시되지 않는 문제가 발생할 수 있습니다 (크레딧 : @Rob Mangiafico)
  • 에 관한 프론트 엔드 템플릿을 다음 만들어진 유일한 수정하는 탈출 데이터 시스템 차단기 아니지만 여전히 사용자 지정 테마에 구현하는 것이 (그리고 그렇게 많이하지 작업에 영향을 두 프론트 엔드의 파일이있다는;))

패치 후 알려진 문제 :

이 목록을 가능한 한 최신 상태로 유지하도록 노력하겠습니다.

새로운 문제 / 질문을 시작하기 전에 누락 된 패치로 인해 많은 문제가 발생하는 것처럼 보이는 이전 패치모두 적용 했는지 확인하십시오 .

또 다른 것은 코어 파일을 수정 한 경우 패치 적용에 실패 할 수 있습니다. 당신이 발생하는 경우 Hunk # failed at: 특정 파일에 대한 오류와 사용자가 이전의 모든 패치를 적용했는지 100 % 것, 미러를 선택하여 당신은 당신의 젠토 버전에서 원본 파일을 확인하시기 바랍니다 https://github.com / OpenMage / magento- 거울 /

영향을받는 파일 목록

이 페이지에서 찾을 수 있습니다 : https://magento.stackexchange.com/a/98232/2380 (credits @MagenX)

EE 만

  • 당신은 마 젠토에 젠토 EE의 1.14.2.x에서 업데이트 한 경우 EE 1.14.2.3 대신에 패치를 적용하고, 또한 지원 패치 적용 SUPEE-5984를 하기 전에, 당신은해야 다시 다시 적용 이되기 때문에 릴리스에 포함되지 않습니다 . => https://magento.stackexchange.com/a/98805/2380

패치 7616에 관하여 :

마 젠토 패치에 대한 좋은 자료

내가 놓친 부분이 있으면 언제든지 알려주세요.


1
실제로 CE를 사용할 때 EE 문제로 "7405를 적용하기 전에 7616을 적용 할 때 발생 가능한 문제 : SUPEE 7405-Hunk # 2 실패 43"문제에 대해 언급했습니다.
Liam McArthur

1
네 말이 맞아, 내 잘못이야 내가 고쳤다.
디지털 피아니즘의 라파엘

1
이제 이벤트가 모두 소문자로 전달됩니다 . 즉, 로컬 옵저버 구성을 확인 / 변경해야합니까?
hellimac

1
@hellimac 다음 두 시간 안에 이것을 테스트하려고합니다. 로컬 관찰자 구성에 영향을 미치는 경우 게시물을 업데이트하겠습니다.
디지털 피아니즘의 라파엘

5
@hellimac 아니요, config.xml의 값도 읽을 때 소문자로 변환됩니다. twitter.com/foomanNZ/status/689924329065164800
Fabian Schmengler

34

내가 주목 한 한 가지 문제는 사이트에서 PHP 5.4 미만의 버전을 사용하는 경우 패치가 호환되지 않는다는 것입니다.

Mage_Adminhtml_Helper_Sales줄 번호 124 주위 의 클래스 에서 코드는 다음과 같습니다.

$links = [];

이것을 다음과 같이 확장해야했습니다.

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

        $links = array();

내가 겪은 또 다른 오류는 내가 설정 한 쿠키와 관련된 것으로 보입니다. 쿠키를 지우면 모든 페이지가 정상적으로로드되었습니다.

오류 예 :

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

실제로 대답은 아니지만 더 많은 정보 : 7405 패치를 Magento 1.5.1 사이트에 적용하는 것은 어렵습니다. "성공"하면 프런트 엔드 오류가 발생하여 관리자를 완전히 사용할 수 없었습니다. 이 사이트는 PHP v5.3.1에 있습니다. 운 좋게도 다시 복원 할 수 있습니다. 나는 PHP 5.3.3에 또 다른 v1.9 설치를 테스트 중이다 ... 캐시를 지우는 것을 망설이는 느낌
Jon Holland

확인 할 수 있습니다, PHP 5.3.3의 Mag 1.9.0.1은 관리자의 주문 레코드를 보려고하면 흰색 내용 영역입니다. 변경 제안으로 문제가 해결되었습니다. 좋은 자리.
Jon Holland

22

SUPEE-7405로 Magento CE를 패치 할 때 발견 한 문제가 있습니다. 다음 줄을 대체합니다.

chmod($destinationFile, 0777);

와:

chmod($destinationFile, 0640);

파일에서 lib/Varien/File/Uploader.php

이 파일 권한은 실제로 644 여야하므로 백엔드에 이미지가 표시되지 않습니다. 640으로 설정 한 이유가 있습니까?


1
마 젠토 버전에서도 같은 문제가 있습니다. 1.7.0.2 이미지가 성공적으로 업로드되었지만 권한 문제로 인해 백엔드에 표시되지 않습니다. 권한 0640을 0644로 변경하면 이미지를 볼 수 있지만 정확한 해결책은 아닙니다. 그래서 나는 magento 사람들이 이것을 교정하거나 이것에 대한 다른 해결책을 제시해야한다고 생각합니다.
jyotiranjan.in

php-fpm이 이미지를 생성하는 동일한 그룹에 apache / nginx를 구성해야한다고 가정합니다.
jzahedieh 2012 년

그것은 내가 생각하는 문제를 일으키는 suPHP입니다! 나는 그것을 비활성화하고 대신 php-cgi를 활성화하여 페이지 속도를 높였지만 여전히 권한 문제가 있습니다. 보안 영향에 대해 잘 모르겠으므로 그대로 두겠습니다. 보안 허점을 열고 싶지 않습니다! 오히려 핵심 파일을 편집하고 싶습니다!
Liam McArthur

3
기본적으로 문제는 아파치가 PHP와 동일한 사용자로 실행되지 않는다는 것입니다. 권한을 640으로 변경하면 파일을 더 이상 세계에서 읽을 수 없게됩니다. 아파치가 php와 동일한 사용자로 실행되고 있는지 확인해야합니다. 당신의 cpanel을 실행하는 좋은 방법이 그룹을 nobody로 설정하고 이것을 끈적 끈적하게 만드는 것이라면 이것은 어려울 수있다.chown USERNAME:nobody -R public_html find ./public_html -type d -exec chmod g+s {} \;
rob3000

이것에 대한 해결책?
Arvind07

21

Magento 1.7.0.0 신청시 댓글 삭제 app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

-/* @var $_helper Mage_Authorizenet_Helper_Data */

1.7.0.0- https: //raw.githubusercontent.com/OpenMage/magento-mirror/1.7.0.0/app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

1.7.0.1까지 추가되지 않았습니다 https://raw.githubusercontent.com/OpenMage/magento-mirror/1.7.0.1/app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml


방금 1.7.0.0 iframe.phtml에 해당 줄을 추가하고 패치를 다시 실행하여 성공했습니다
Danny Z

1
@DannyZ 여기에 같은 일이 방금 어딘가에 적어 두어야한다고 생각했습니다 :)
rob3000

19

이 파일들이 패치되면 다음과 같은 영향을 볼 수 있습니다.
template : 관리 템플릿 대부분 패치.

+++ app/design/frontend/base/default/template/rss/order/details.phtml
+++ app/design/frontend/base/default/template/catalog/product/view/options/type/file.phtml
+++ app/design/adminhtml/default/default/template/sales/order/view/info.phtml
+++ app/design/adminhtml/default/default/template/sales/order/totals/discount.phtml
+++ app/design/adminhtml/default/default/template/sales/items/renderer/default.phtml
+++ app/design/adminhtml/default/default/template/sales/items/column/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/invoice/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/creditmemo/name.phtml
+++ app/design/adminhtml/default/default/template/catalog/product/composite/fieldset/options/type/file.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/shipment/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/shipment/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/order/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/invoice/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/invoice/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/creditmemo/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/creditmemo/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

코어 / 라이브러리 :

+++ 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 모든 것을 함께 유지하기 위해, 다수의 마 젠토 설치로 많은 서버를 패치하기 위해 "두뇌없는"멀티 패치를 만들었습니다. 멀티 패치 -7405.sh


좋은! Cant가 해당 테마 파일을 덮어 써서 .sh 패치로 작업을 수행 할 수 있음을 기억하십시오 : D
Bobadevv

1
잘 했어요 멀티 패치는 좋은 아이디어입니다. 난 그냥 젠토는 우리는 그들이 외부 소스 일치하는지 확인 할 수 있도록 SHA1 자신의 패치를 해시 발표 할
philwinkle

magento 웹 리포지토리에 직접 액세스하여 모든 패치를 컬링하면이 문제를 단순화 할 수 있지만 문제가있었습니다. 그리고 로그인 정보를 입력해야했습니다 ... magento wtf ...
MagenX

14

기본 테스트 계획은 다음과 같습니다.

  • 쿠폰 적용
  • 관리자 로그인
  • 관리자가 비밀번호를 변경하도록 강제
  • CSV 내보내기
  • CSV 가져 오기
  • 관리자 및 고객으로 비밀번호 재설정
  • 관리자에서 주문 작성
  • 프런트 엔드에서 게스트로 생성 및 주문
  • 프런트 엔드에서 고객으로 생성 및 주문
  • 제품에 이미지 추가
  • 대변 ​​메모 작성
  • 송장 작성

이 목록이 정확히이 패치로 인한 오류를 이해하는 데 도움이되거나 개발자가 손을 구부린 것입니까 ???
MagenX 2016 년

@MagenX 개발자가 구부러진 손의 의미를 모르겠습니다. 그러나 패치를 알아 차렸을 때 문제가 될 수있는 목록을 만들었습니다.
Brideo

@MagenX이므로 패치를 적용한 후 해당 영역을 확인하고 도움이되지 않으면 죄송합니다.
Brideo

아, 패치 후 점검을위한 기본 테스트 스위트는 고객과 작업자가 먼저 패치를 찾아야합니다. 패치 된 파일의 영향을받는 영역을 연습 할 때 완벽하게 이해됩니다.
Fiasco Labs

이것은이 질문에 대한 좋은 (더 나은) 대답 일 것입니다 : magento.stackexchange.com/questions/98565/…
Anna Völkl


9

당신이 젠토 EE의 1.14.2.x에서 업데이트 한 경우 젠토 EE 1.14.2.3 대신에 패치를 적용하고, 또한 지원 패치 적용 SUPEE-5984를 하기 전에, 당신이 있기 때문에 다시 다시 적용해야 릴리스에 포함되지 않습니다 .

이 패치는 깨진 인덱서를 수정 한 패치입니다. EE 1.14.2.0으로 업그레이드 한 후의 인덱스 오류 : 테이블 catalog_product_entity_tmp_indexer가 존재하지 않습니다



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

3
나는 이것이 질문에 답하는 것처럼 느끼지 않는다. OP는 패치를 적용하는 방법이 아니라 타사 확장에서 톤의 수동 작업이 필요한 SUPEE-6788을 참조합니다.
Robbie Averill

영업 이익은하지 6788. SUPEE-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

문제를 해결하는 다른 방법은 웹 서버를 파일의 소유자로 만드는 것입니다

chown -R 웹 서버 사용자 이름 마 젠토 / 루트 / 경로

웹 서버 사용자 이름은 일반적으로 www-data 또는 apache입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.