PATCH_SUPEE-6788이 1.7.0.2 설치에 영향을 미치지 않는 이유는 무엇입니까?


21

참고 : 이 문제는 SUPEE-6788 패치를받은 모든 버전의 Magento에 적용되는 것으로 보입니다. 내에서 볼 수 해답 것을 모두 .htaccess.htaccess.sample패치가 성공하기 위해 필요 복원 할 수 있습니다.


나는이 제공하는 쉘 스크립트를 사용하여 CE 1.7.0.2 사이트에 SUPEE-6788 패치를 적용하고 있어요 magentocommerce.com/downloads을 . 이 사이트에는 이전의 모든 보안 패치가 적용되었습니다.

스크립트 이름은 PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.shmd5sum입니다 cfc0cf533fe36a5f573414f0feeb1590(이 패치는 파일이 손상되거나 잘리지 않은 것처럼 보이지만 압축되지 않은 상태로 릴리스되었다는 점에서 특이했습니다).

이 스크립트를 실행하면 콘솔 출력에 포함 된 패치 중 하나 이상이 실패했거나 건너 뛴 git것으로 표시 되지만 패치의 많은 부분이 성공했지만 변경 사항이 표시되지 않습니다. 이 스크립트는 동일한 코드베이스를 가진 두 가지 환경 (우분투 그놈 14.04 LTS 워크 스테이션, 다른 하나는 nexcess.com 공유 서버 (CentOS 실행)) 에서 테스트되었습니다 .

중요한 것은 두 환경의 출력이 약간 다르다는 것입니다. "checking"과 "patching"으로 시작하는 줄에 유의하십시오.

우분투 환경의 출력 샘플 :

bash PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh                                              [19:27:10]
Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.

checking file .htaccess
Hunk #1 FAILED at 207.
1 out of 1 hunk FAILED
can't find file to patch at input line 38
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git .htaccess.sample .htaccess.sample
|index 546f18e..3e79c77 100644
|--- .htaccess.sample
|+++ .htaccess.sample
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
checking file app/code/core/Mage/Admin/Model/Block.php
checking file app/code/core/Mage/Admin/Model/Resource/Block.php
checking file app/code/core/Mage/Admin/Model/Resource/Block/Collection.php
checking file app/code/core/Mage/Admin/Model/Resource/Variable.php
checking file app/code/core/Mage/Admin/Model/Resource/Variable/Collection.php
checking file app/code/core/Mage/Admin/Model/Variable.php
...

CentOS 환경의 샘플 :

bash PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh 
Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.

patching file .htaccess
Hunk #1 FAILED at 207.
1 out of 1 hunk FAILED -- saving rejects to file .htaccess.rej
can't find file to patch at input line 38
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git .htaccess.sample .htaccess.sample
|index 546f18e..3e79c77 100644
|--- .htaccess.sample
|+++ .htaccess.sample
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
patching file app/code/core/Mage/Admin/Model/Block.php
patching file app/code/core/Mage/Admin/Model/Resource/Block.php
patching file app/code/core/Mage/Admin/Model/Resource/Block/Collection.php
patching file app/code/core/Mage/Admin/Model/Resource/Variable.php
...

출력 상단의 오류를 파고 수동으로 패치를 적용 할 수는 있지만 누군가가 원인에 대한 통찰력이나 비교적 간단한 수정을 원할 수 있기를 바랍니다.


위에서 언급 한 모든 솔루션을 시도했습니다. 그러나 여전히 패치 6788을 적용 할 수 없습니다. 누구든지 도와주세요. 감사.
Mesk

증상이 동일합니까? 그렇지 않은 경우 문제의 세부 사항에 대해 새로운 질문을해야합니다
STW

Magento 스톡 설치 파일을 사용하십시오. 그런 다음 .htaccess파일 끝에서 -File에 정확히 1 개의 빈 줄 바꿈이 있는지 확인하십시오 #FileETag none. 그리고 .htaccess.sample파일의 끝에 파일에는 2 개의 빈 줄 바꿈이 있어야합니다.
pbaldauf

답변:


15

.htaccess뿐만 아니라 누락 된 변경 .htaccess.sample이 범인 으로 보입니다 . 두 파일 모두의 스톡 사본을 복원 한 후 (둘 다 필요함) 패치가 성공적으로 적용되는 것으로 보입니다.

수정을 잃지 않고 (필요한)이 문제를 해결하기 위해 다음 단계를 수행했습니다.

  1. (A)의 백업 작성 .htaccess.htaccess.sample버전 관리 시스템 또는 파일을 복사하여 -either을

  2. 의 주식 1.7.0.2 버전 복사 .htaccess하고 .htaccess.sample, 내 코드베이스에 내 사용자 정의를 교체.htaccess

  3. 패치를 적용했습니다. 출력은 이전보다 훨씬 짧았습니다 (2 줄).

  4. .htaccess(후손을 위해)을 포함한 모든 변경 사항 을 완수했습니다.

  5. .htaccess패치없이 이전 버전을 확인 하고 수동으로 해당 파일에 패치를 적용했습니다.

git diff추가 된 라인을 보여주는 패치 는 다음과 같습니다 .

diff --git a/.htaccess b/.htaccess
index 60e1795..aca7f55 100644
--- a/.htaccess
+++ b/.htaccess
@@ -207,3 +207,28 @@
 ## http://developer.yahoo.com/performance/rules.html#etags

     #FileETag none
+
+###########################################
+## Deny access to cron.php
+    <Files cron.php>
+
+############################################
+## uncomment next lines to enable cron access with base HTTP authorization
+## http://httpd.apache.org/docs/2.2/howto/auth.html
+##
+## Warning: .htpasswd file should be placed somewhere not accessible from the web.
+## This is so that folks cannot download the password file.
+## For example, if your documents are served out of /usr/local/apache/htdocs
+## you might want to put the password file(s) in /usr/local/apache/.
+
+        #AuthName "Cron auth"
+        #AuthUserFile ../.htpasswd
+        #AuthType basic
+        #Require valid-user
+
+############################################
+
+        Order allow,deny
+        Deny from all
+
+    </Files>

참고 : 비슷한 문제가 발생하지만 문제가 해결되지 않으면 이전 보안 패치를 놓친 것일 수 있습니다. 확인 app/etc/applied.patches.list및 / 또는 사용 magereport.com/scan 이전의 모든 보안 패치 적용 중 & ndash되었는지 확인하기 위해 ** 그들이 필요 **
STW

나는 나를 위해 일했다
jruzafa

이것은 무엇을 의미 하는가? Warning: .htpasswd file should be placed somewhere not accessible from the web어떤 생각?
Adarsh ​​Khatri

4

나는의 재고 버전 다운로드 시도 .htaccess.htaccess.sample패치는 여전히 심지어 주식 버전을 사용 후에 적용되지 않습니다.

이 문제가 발생하는 다른 사람은이 기사 에서 패치 자체에서 .htaccesshtaccess.sample부분 을 제거한 다음 수동으로 추가하는 방법을 설명합니다 . http://www.atwix.com/magento/security-patch-supee-6788 -설치 문제 /

FIX - 라인으로 시작하는 라인을 163-195을 제거하여 편집 패치 파일을

diff --git .htaccess .htaccess 

그리고 끝

+    </Files>

htaccess.sample이것으로 시작 하는 부분을 제거해야 할 수도 있습니다.

diff --git .htaccess.sample .htaccess.sample

~에서 끝남

+    </Files>

이 작업이 끝나면 패치를 다시 적용 해보십시오. 이번에는 성공적으로 적용됩니다.

다음으로 패치 .htaccess.htaccess.sample파일이 최신 상태가되도록 파일 과 파일 끝에 다음을 추가해야 합니다.

###########################################
## Deny access to cron.php
    <Files cron.php>

############################################
## uncomment next lines to enable cron access with base HTTP authorization
## http://httpd.apache.org/docs/2.2/howto/auth.html
##
## Warning: .htpasswd file should be placed somewhere not accessible from the web.
## This is so that folks cannot download the password file.
## For example, if your documents are served out of /usr/local/apache/htdocs
## you might want to put the password file(s) in /usr/local/apache/.

        #AuthName "Cron auth"
        #AuthUserFile ../.htpasswd
        #AuthType basic
        #Require valid-user

############################################

        Order allow,deny
        Deny from all

    </Files>

이 단계에 따라 패치를 성공적으로 적용 할 수있었습니다. 이것이 도움이되기를 바랍니다.


1
수정 사항을 포함하도록 원래 게시물을 업데이트했습니다. 게시 한 수정 사항을 발견하고 다른 사람이이 문제를 해결하는 데 도움이되기를 희망 할 때까지 몇 시간 동안이 문제가 발생하여 다운 봇이 발생한 이유를 설명해 주시겠습니까?
제임스 콜린스


0

같은 문제가 있었는데, 잘못된 패치를 다운로드했기 때문입니다. Magento EE 1.13을 사용하고 있으며 CE 패치를 다운로드했습니다 ... 튜토리얼을 따르는 동안 CE 1.8 용 패치를 다운로드하여 EE 1.13에서 작동한다고 생각했습니다. 사용중인 Magento 버전의 패치를 다운로드하십시오.


-1
  1. .htaccess 및 .htaccess.sample 백업
  2. Magento 버전에 따라 원본 .htaccess 및 .htaccess.sample 파일을 업로드하십시오.
  3. 패치를 실행하십시오.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.