SUPEE-10975 잠재적 문제


16

SUPEE-10975가 출시되었습니다.이 문제를 적용하는 동안 문제가 발생하면이 문제가 7.2 지원을 추가 한 최신 패치와 충돌합니까?

지금까지 이것들은 내가 볼 수있는 변경된 파일입니다.

app/code/core/Mage/Adminhtml/Block/Customer/Group/Edit.php
app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Edit.php
app/code/core/Mage/Adminhtml/controllers/Cms/BlockController.php
app/code/core/Mage/Adminhtml/controllers/Customer/GroupController.php
app/code/core/Mage/Adminhtml/controllers/SitemapController.php
app/code/core/Mage/Adminhtml/controllers/System/BackupController.php
app/code/core/Mage/Captcha/Model/Observer.php
app/code/core/Mage/Captcha/Model/Zend.php
app/code/core/Mage/Captcha/etc/config.xml
app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Admin/V1.php
app/code/core/Mage/Catalog/Model/Product/Attribute/Media/Api.php
app/code/core/Mage/Cms/Model/Wysiwyg/Images/Storage.php
app/code/core/Mage/Core/etc/config.xml
app/code/core/Mage/Core/sql/core_setup/upgrade-1.6.0.7.1.1-1.6.0.7.1.2.php
app/code/core/Mage/Dataflow/Model/Convert/Container/Abstract.php
app/code/core/Mage/ImportExport/Model/Import/Entity/Customer.php
app/code/core/Mage/ImportExport/Model/Import/Entity/Customer/Address.php
app/code/core/Mage/Payment/etc/config.xml
app/code/core/Mage/Payment/etc/system.xml
app/code/core/Mage/Payment/sql/payment_setup/upgrade-1.6.0.0.1.1-1.6.0.0.1.2.php
app/code/core/Mage/Sendfriend/Block/Send.php
app/code/core/Mage/Wishlist/controllers/IndexController.php
app/code/core/Zend/Controller/Request/Http.php
app/design/adminhtml/default/default/template/cms/browser/content/files.phtml
app/design/frontend/base/default/layout/captcha.xml
app/design/frontend/base/default/template/wishlist/sharing.phtml
app/design/frontend/rwd/default/layout/page.xml
app/design/frontend/rwd/default/template/sendfriend/send.phtml
app/etc/modules/Mage_All.xml
app/etc/modules/Mage_Captcha.xml
app/locale/en_US/Mage_Wishlist.csv
js/lib/jquery/jquery-1.12.0.js
js/lib/jquery/jquery-1.12.0.min.js
js/lib/jquery/jquery-1.12.0.min.map
js/lib/jquery/jquery-1.12.1.js
js/lib/jquery/jquery-1.12.1.min.js
js/lib/jquery/jquery-1.12.1.min.map

이 변경 사항에 문제가있는 사람이 있습니까?

답변:


12

지금까지 SUPEE-10975 패치와 관련하여 다음과 같은 문제가 발생했습니다.

  • 더 이상 새로운 방법으로 누락 된 반품 명세서 때문에 관리자를 통해 고객 그룹을 삭제할 수 없습니다 Mage_Adminhtml_Block_Customer_Group_Edit::getDeleteUrl(@ mikhail-chelevich에서 발견 한 문제). 관리자에 대해 비밀 키가 활성화 된 경우 (기본값)입니다. 이 문제는 1.9.4.0에도 있습니다. 이 문제는 SUPEE-11043 패치로 해결되었습니다.이 패치는 공식적으로 릴리스되지 않았지만 GitHub Gist 로 제공됩니다 .
  • Mage_Sendfriend모듈은 또한 해제하지 않고 비활성화 할 수 없습니다 Mage_Captcha모듈을. 그렇지 않으면 다음과 같은 핵심 예외가 발생합니다. Module "Mage_Captcha" requires module "Mage_Sendfriend".(@zlep에서 발견 한 문제)
  • 에 변경 sendfriend/send.phtmlrwd/default테마 에서 작성된 템플리트 은 테마에서 작성되지 않습니다 base/default. 이는 base/default테마에 대해 보안 문자를 사용할 수 없으며 이전에 입력 한 수신자의 이름 및 이메일이 페이지에 표시되지 않음을 의미합니다 (일반적인 양식 제출의 경우 서버 측 유효성 검증 오류가 발생 함).
  • 새로운 방법 Mage_Sendfriend_Block_Send::getRecipientsCount은 PHP 7.2 비 호환성을 소개합니다.countNULL 수신자없이 페이지를로드 할 때 값 에 대해 수행 (새 페이지로드의 기본값). 이 문제는 1.9.4.0에서 해결되었습니다.

필자는 1.9.3.10에 대한 패치 만 확인했지만 모든 버전의 패치에 문제가있는 것 같습니다.


11

누락 된 return parent::getDeleteUrl()응용 프로그램 / 코드 / 코어 / 마법사 / Adminhtml / 차단 / 고객 / 그룹 / Edit.php에

+    public function getDeleteUrl()
+    {
+        if (!Mage::getSingleton('adminhtml/url')->useSecretKey()) {
+            return $this->getUrl('*/*/delete', array(
+                $this->_objectId => $this->getRequest()->getParam($this->_objectId),
+                'form_key' => Mage::getSingleton('core/session')->getFormKey()
+            ));
+        } else {
+            parent::getDeleteUrl();
+        }
+    }

이 버전은 어떤 Magento 버전입니까?
danmentzer

1
이 문제를 확인할 수 있습니다. 더 이상 관리자를 통해 고객 그룹을 삭제할 수 없습니다. 이것은 관리자에 대해 비밀 키가 활성화되어있는 경우에 발생합니다 (기본값). 이것은 SUPEE-10975 패치와 Magento Open Source 1.9.4.0에도 있습니다.
Aad Mathijssen

이 SUPEE-11043을 해결하기위한 추가 패치가 생성되었습니다
Andrew

@andrew 나는 SUPEE-11043에 대해 아무것도 찾을 수 없습니다. 당신은 몇 가지 소스를 연결할 수 있습니까?
darnok

1
따라서 수정 parent::getDeleteUrl();프로그램은 app / code / core / Mage / Adminhtml / Block / Customer / Group / Edit.php에서return parent::getDeleteUrl();
René Schep

8

10975 패치에 문제가 발생했습니다. 조사 후 패치가 엉망인 위치와 이유에 대한 답변을 추적 할 수있었습니다.

아래 점검 사항을 요약하고 SUPEE 9767 V2를 올바르게 패치 했는지 확인하십시오 . 그것이 내 문제의 근본입니다.

sh PATCH_SUPEE-10975_EE_v1.12.0.2_v1-2018-11-27-10-36-30.sh
Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.

patching file app/code/core/Enterprise/PageCache/Model/Processor.php
Hunk #1 succeeded at 690 (offset -3 lines).
patching file app/code/core/Enterprise/Pci/etc/config.xml
patching file app/code/core/Enterprise/Wishlist/Block/Customer/Sharing.php
patching file app/code/core/Mage/Adminhtml/Block/Customer/Group/Edit.php
patching file app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Edit.php
patching file app/code/core/Mage/Adminhtml/controllers/Cms/BlockController.php
patching file app/code/core/Mage/Adminhtml/controllers/Customer/GroupController.php
patching file app/code/core/Mage/Adminhtml/controllers/SitemapController.php
patching file app/code/core/Mage/Adminhtml/controllers/System/BackupController.php
patching file app/code/core/Mage/Captcha/Model/Observer.php
patching file app/code/core/Mage/Captcha/Model/Zend.php
patching file app/code/core/Mage/Captcha/etc/config.xml
patching file app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Admin/V1.php
patching file app/code/core/Mage/Catalog/Model/Product/Attribute/Media/Api.php
patching file app/code/core/Mage/Cms/Model/Wysiwyg/Images/Storage.php
patching file app/code/core/Mage/Core/etc/config.xml
Hunk #1 FAILED at 28.
1 out of 3 hunks FAILED -- saving rejects to file app/code/core/Mage/Core/etc/config.xml.rej
patching file app/code/core/Mage/Core/sql/core_setup/upgrade-1.6.0.2.1.2-1.6.0.2.1.3.php
patching file app/code/core/Mage/Dataflow/Model/Convert/Container/Abstract.php
patching file app/code/core/Mage/ImportExport/Model/Import/Entity/Customer.php
patching file app/code/core/Mage/ImportExport/Model/Import/Entity/Customer/Address.php
patching file app/code/core/Mage/Payment/etc/config.xml
patching file app/code/core/Mage/Payment/etc/system.xml
patching file app/code/core/Mage/Payment/sql/payment_setup/upgrade-1.6.0.0.1.1-1.6.0.0.1.2.php
patching file app/code/core/Mage/Wishlist/controllers/IndexController.php
patching file app/code/core/Zend/Controller/Request/Http.php
patching file app/design/adminhtml/default/default/template/cms/browser/content/files.phtml
patching file app/design/adminhtml/default/default/template/enterprise/cms/page/preview/revision.phtml
patching file app/design/adminhtml/default/default/template/enterprise/customersegment/report/detail/grid/container.phtml
patching file app/design/adminhtml/default/default/template/enterprise/giftregistry/customer/form.phtml
patching file app/design/adminhtml/default/default/template/enterprise/staging/log/information/merge.phtml
patching file app/design/adminhtml/default/default/template/enterprise/staging/log/information/rollback.phtml
patching file app/design/frontend/base/default/layout/captcha.xml
patching file app/design/frontend/base/default/template/wishlist/sharing.phtml
patching file app/design/frontend/enterprise/iphone/template/downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml
patching file app/etc/modules/Mage_All.xml
patching file app/etc/modules/Mage_Captcha.xml
patching file app/locale/en_US/Enterprise_Wishlist.csv
patching file app/locale/en_US/Mage_Wishlist.csv
patching file js/enterprise/adminhtml/staging.js

위의 오류는이 파일과 관련된 오류입니다.

마법사 / 코어 /etc/config.xml

이 패치 라인에서 오류가 발생합니다.

diff --git app/code/core/Mage/Core/etc/config.xml app/code/core/Mage/Core/etc/config.xml
index 4aebdcdc2cf..4b28f2765a1 100644
--- app/code/core/Mage/Core/etc/config.xml
+++ app/code/core/Mage/Core/etc/config.xml
@@ -28,7 +28,7 @@
 <config>
     <modules>
         <Mage_Core>
-            <version>1.6.0.2.1.2</version>
+            <version>1.6.0.2.1.3</version>
         </Mage_Core>
     </modules>
     <global>

여기에 나열된 버전이 수동 패치로 인해 올바르게 일치하지 않습니다

수프 9767 v2

이 패치에는 수동으로 패치 할 때 놓친이 줄이 있습니다.

diff --git app/code/core/Mage/Core/etc/config.xml app/code/core/Mage/Core/etc/config.xml
index 4a0ff1b..d0de702 100644
--- app/code/core/Mage/Core/etc/config.xml
+++ app/code/core/Mage/Core/etc/config.xml
@@ -28,7 +28,7 @@
 <config>
     <modules>
         <Mage_Core>
-            <version>1.6.0.2</version>
+            <version>1.6.0.2.1.2</version>
         </Mage_Core>
     </modules>
     <global>

5

먼저, erej의 답변 이 중복되어 죄송합니다. . 평판 점수 때문에 댓글을 달거나 편집 할 수 없습니다.

패치는 여기에 새로운 파일을 생성합니다 : app/code/core/Zend/Controller/Request/Http.php

이 파일을 무시하기 위해 추가 된 것 : lib/Zend/Controller/Request/Http.php

1.9.0.0 (EE 1.14.0.0) 미만의 Magento에 문제가 있습니다.

이 방법 :

/**
 * Everything in REQUEST_URI before PATH_INFO
 * <form action="<?=$baseUrl?>/news/submit" method="POST"/>
 *
 * @return string
 */
public function getBaseUrl($raw = false)
{
    if (null === $this->_baseUrl) {
        $this->setBaseUrl();
    }

    return (($raw == false) ? urldecode($this->_baseUrl) : $this->_baseUrl);
}

Magento Core 파일에서 재정의 됨 app/code/core/Mage/Core/Controller/Request/Http.php

public function getBaseUrl()
{
    $url = parent::getBaseUrl();
    $url = str_replace('\\', '/', $url);
    return $url;
}

어떤 주장도하지 않습니다.

따라서 모든 웹 사이트 URL, front & admin 에서이 엄격한 통지를합니다.

Strict Notice: Declaration of Mage_Core_Controller_Request_Http::getBaseUrl() should be compatible with Zend_Controller_Request_Http::getBaseUrl($raw = false) in /var/www/htdocs/app/code/core/Mage/Core/Controller/Request/Http.php on line 36

누군가 해당 패치의 V2가 작동 중인지 알고 있다면 알려주십시오.

업데이트를 기다리는 동안 app/code/core/Mage/Core/Controller/Request/Http.php다음과 같은 방법으로 재정의 할 수 있습니다 .

/**
 * @param bool $raw - Added manually to correct SUPEE-10975 oversight
 *      See /magento/251317/supee-10975-potential-issues
 *      for more information
 *
 * @return mixed|string
 */
public function getBaseUrl($raw = false)
{
    $url = parent::getBaseUrl($raw); // Argument added manually to correct SUPEE-10975 oversight
    $url = str_replace('\\', '/', $url);
    return $url;
}

4

이 패치를 적용한 후 버전 1.8.1.0에서는 app/code/core/Mage/Core/Controller/Request/Http.php::getBaseUrl()기능을 다음과 같이 변경 해야했습니다.

public function getBaseUrl($raw = false)
{
    $url = parent::getBaseUrl($raw);
    $url = str_replace('\\', '/', $url);
    return $url;
}

이 패치는 app/code/core/Zend/Controller/Request/Http.php파일을 추가 getBaseUrl()하고 parameter로 함수를 선언 하기 때문 $raw = false입니다.


이 기능을 추가 할 필요는 없습니다. 이 함수를 호출하는 기능은 1.8.1에서 $ raw를 설정하지 않아야하므로 항상 기본적으로 raw가 아닙니다.
René Schep

4

'Hunk # 1 FAILED at 28'에 문제가 있습니다.

거부는 config.xml.rej에 저장되어 있지만이 파일은 존재하지 않으며 터미널 창에서 스크립트의 어떤 부분이 실패했는지에 대한 설명도 없습니다. 기본적으로 패치가 실패하고 이유가 표시되지 않습니다. 적어도 나와 같은 바보에게는 안됩니다!

패치를 처음 실행했을 때 존재하지 않는 3 개의 jquery v 1.12.0 파일을 삭제하려고 시도했지만이 파일을 바꾸고 패치를 다시 적용했지만 유용한 설명없이 실패합니다.

Magento 1.9.0.1은 PHP 7.2 호환성 업데이트를 제외하고는 완전히 패치되었습니다. 내가 해결할 수 없거나 여기 누군가가 힌트를 줄 수 없다면 패치되지 않은 채로있을 것입니다. 감사합니다 H

추신. 나는 내 게시물이 SE 지침을 위반하는지 확실하지 않으며, 원래 질문에 대답하고 있지만 도움을 요청하고 있습니다.


1
이 문제는 패치 9767 v2와 관련이 있으며 Mage / Core / etc / config.xml에 새 버전 번호를 추가합니다. 현재 버전 번호를 추가해야합니다 .1.2 이것에 대한 답도.
danmentzer

3

Mage_Backup모듈은 패치로 사용할 수 없습니다.

공식 릴리스 노트에 언급되어 있습니다 ( https://devdocs.magento.com/guides/m1x/ce19-ee114/ce1.9_release-notes.html#ce19-1940 )에 있습니다.

그러나 다시 사용하도록 제안 된 해결책은 잘못되었습니다.

( "대체로 이 두 가지 중 하나를 방법 를 사용하여 데이터베이스 백업을 활성화 할 수 있습니다")

실제로 완전히 다시 활성화하려면 언급 된 두 가지 방법을 모두 사용해야합니다.


2
또한 Mage_Backup 모듈을 다시 활성화하면 "원격 코드 실행 (RCE), 사이트 간 스크립팅 (XSS) 및 사이트 간 요청 위조 (CSRF) 문제"가 표시됩니다.
René Schep

2

세금 계산을 올바르게 처리하는 데 문제가있을 수 있습니다 .

많은 국가에서 관례와 마찬가지로 고객은 ' 가격에 세금 포함 Magento "구성을 .

따라서 1.9.3.10에서 1.9.4.0으로 업데이트 한 후에 세금이 이미 포함 된 품목 가격 외에 세금이 총계에 추가되었습니다.

app / code / core / Mage / Sales / etc / config.xml 파일의 구성 변경으로 문제를 추적했습니다 . 여기서 " msrp "가 sales / quote / totals / shipping / after 노드에 추가되었습니다. .

릴리스 노트에서 MSRP와 관련된 내용을 찾지 못했으며 이것이 부작용없이 고립 된 변경이기를 바랍니다.

내 솔루션은 원래 값 "이 노드 다시 변경했다 소계,을 Freeshipping, tax_subtotal 은"없는 " MSRP를 ". 내 모듈 의 etc / config.xml 에서 그렇게했습니다 .


1

특정 문제이지만 Mage_Sendfriend를 비활성화하면 (이전에 모듈을 안전하게 비활성화 할 수 있음) 예외 오류가 발생합니다.


1
그들은 Mage_Captcha를 다른 방법 대신 Mage_Sendfriend에 의존하게 만들었습니다. 따라서 Mage_Cendcha를 비활성화하여 Mage_Sendfriend를 비활성화해야합니다. 그것은 모든 마 젠토 기본 recaptcha를 비활성화하기 때문에 당신이 원하는 것이 아닐 수도 있습니다
René

0

오늘 Magento CE 1.9.3.10에서 1.9.4.0으로 업그레이드하려고 시도했지만 여러 오류가 발생했습니다. 다행히도 설치가 엉망이되지 않았습니다. 설치 후 나는 두려워합니다-내부 서버 오류. 나는 잠겨있어서 maintenance.flag를 제거하고 SSH를 통해 모든 파일 및 폴더 권한을 재설정해야했습니다. 그런 다음 캐시를 다시 색인화하고 다시 활성화했습니다. 또한 Root and Download 폴더의 이전 .htaccess 파일로 되돌려 야했습니다. 성공적인 설치를 위해 수정 조치가 무엇인지 확실하지 않습니다. 명령 행 창에서 텍스트를 복사하는 것을 잊었습니다. 그래서 모든 오류를 게시 할 수는 없습니다. 내가 본 것은 호환되지 않는 메시지였습니다.


1
다운로더를 통한 "업그레이드"방법은 적어도 약간 편집 된 모든 설치에서 작동했다고 생각하지 않습니다. 내가 미쳤어?
Kalvin Klien

Magento Connect를 사용한 "업그레이드"방법은 매번 작동합니다. 나는 우리의 M1 사이트 3 곳 모두에 그것을 사용하며 그것들은 모두 (적절하지만) 커스터마이징되어 있습니다.
MagentoAaron

0

예약 백업을 제거 했습니까? 예약 된 백업 섹션이 없습니다

아니면 어떤 문제가 있습니까? 어떤 노트에도 이것에 대한 언급이없는 이유는 무엇입니까? 이것은 업데이트가 나올 때 이와 같은 변경 사항을 언급하지 않는 Magento의 패턴으로 보입니다.

업데이트 : 모든 버전에서 완전히 제거 된 것처럼 보입니다.

업데이트 : 백업을 다르게 수행해야했습니다. 관심있는 사람이 있다면 CRON 명령 중 일부를 여기에 게시했습니다. 백업 전략 게시물 SUPEE-10975?


특정 버전에 해당합니까?
Razentic

2
twitter.com/ryanhoerr/status/1067819214314987520 그것이 그들이이 패치 당 제거 특정 부분입니다.
danmentzer

오 신 ... OK 클래식-다른 소스에서 찾은 다음 기능의 제거 / 추가에 대해 마 젠토를 찾아야합니다.
Kalvin Klien

1
@KalvinKlien, 실제로 릴리스 노트의 첫 번째 단락은 비활성화되었음을 나타냅니다. devdocs.magento.com/guides/m1x/ce19-ee114/…
Peter Jaap Blaakmeer

3
이 패치의 변경 사항은 Mage_Backup이 기본적으로 비활성화되어 있고 코드 실행 검사가 더 엄격하다는 것입니다 (예 : 모듈의 블록 출력이 비활성화 된 경우 백업이 실행되지 않음). app / etc / modules / Mage_All.xml의 Mage_Backup 섹션에서 false를 true로 변경하여 모듈을 수동으로 다시 활성화 할 수 있습니다. 백업 기능을 다시 활성화하면 잠재적으로 "원격 코드 실행 (RCE), 사이트 간 스크립팅 (XSS) 및 사이트 간 요청 위조 (CSRF) 문제"가 발생할 수 있습니다.
René Schep

0

이전 개발자가 사용자 지정 다중 저장소 구성을 사용중인 사이트에서 문제가 발생했습니다. 기본 상점 이외의 상점에 대한 모든 URL은 404입니다. "HTTP_X_REWRITE_URL"서버 변수 / HTTP 헤더를 설정하여 Magento 요청에서 처리 한대로 URL을 변경했습니다.

이 변수는 \ Zend_Controller_Request_Http :: setRequestUri ()에서 사용되었지만 app / code / core / Zend / Controller / Request / Http.php의 새 버전에서는 더 이상이 변수를 사용하지 않습니다. 가능한 수정 사항은 다음과 같습니다.

  • $ _SERVER [ "IIS_WasUrlRewritten"]를 '1'로 설정하고 대신 $ _SERVER [ "UNENCODED_URL"]을 설정하십시오.
  • 대신 $ _SERVER [ "REQUEST_URI"] 설정

아마도 효과가 있을지 모르지만 전자는 이전 시스템에 더 근접한 기능으로 의도하지 않은 결과를 초래할 가능성이 적습니다.


0

결제 수단 관련 오류를 사용할 수 없습니다

The requested Payment Method is not available젠토에 의해 많은 오류가 발생했습니다. 제품 반품의 결제 수단이있는 주문 ccsave에 대해이 담당자가에서이를 제거했습니다 config.xml.

Magento가 $keyxml 경로를 확인하여 (이 경우 지불 방법 ccsave )을 찾고 있기 때문에 오류가 발생했습니다 payment/ccsave/model. 찾지 못하면 오류가 발생합니다. 그래서 우리는 방금 a를 git checkout [insert supee commit]^ app/code/core/Mage/Payment/etc/config.xml하고 오류를 해결하기 위해 마스터로 푸시했습니다.

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

public function getMethodInstance($code)
{
    $key = self::XML_PATH_PAYMENT_METHODS.'/'.$code.'/model';
    $class = Mage::getStoreConfig($key);
    return Mage::getModel($class);
}

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

<default>
  <payment>
      <ccsave>
        <model>payment/method_ccsave</model>
      </ccsave>
  </payment>
  ...
</default>


-5

아마도 그렇지는 않지만 버전 1.9.4.0은 이미 구현되었습니다.


1
이 스택 게시물은 특히 다른 개발자가 귀하의 답변이 어떤 문제에 대해서도 도움이되지 않거나 설명하지 않는 문제를 알 수 있도록합니다. 나는 솔직히 이것을 제거 할 것입니다.
danmentzer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.