Por que PATCH_SUPEE-6788 parece não ter efeito em uma instalação 1.7.0.2?

21

Nota: Esse problema parece se aplicar a todas as versões do Magento que receberam o patch SUPEE-6788. Você verá na minha resposta que ambos .htaccess e .htaccess.sampleprecisam ser restaurados para que o patch seja bem-sucedido.


Estou trabalhando para aplicar o patch SUPEE-6788 em um site CE 1.7.0.2 usando o script de shell fornecido por magentocommerce.com/downloads . O site teve todos os patches de segurança anteriores aplicados.

O nome do script é PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.she possui um md5sum cfc0cf533fe36a5f573414f0feeb1590(este patch era incomum porque foi lançado sem compactação - embora o arquivo não pareça corrompido ou truncado).

Ao executar esse script, a saída do console parece indicar que pelo menos um dos patches incluídos falhou ou foi ignorado, mas que muitas partes do patch foram bem-sucedidas, no entanto, não gitestão mostrando alterações. O script foi testado em dois ambientes diferentes com a mesma base de código - um em uma estação de trabalho Ubuntu GNOME 14.04 LTS, o outro em um servidor compartilhado nexcess.com (executando o CentOS).

O interessante é que a saída nos dois ambientes é um pouco diferente. Observe as linhas que começam com "check" vs "patching".

Uma amostra da saída do ambiente Ubuntu:

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

Uma amostra do ambiente do 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
...

Eu estarei pesquisando o erro na parte superior da saída e possível aplicando manualmente os patches - mas esperava que alguém pudesse ter uma ideia da causa ou uma correção relativamente simples.

STW
fonte
Eu tentei todas as soluções mencionadas acima. Mas ainda não consigo aplicar o patch 6788 com sucesso. Alguém por favor pode ajudar nisso? Obrigado.
Mesk
Os sintomas são os mesmos? Se não você provavelmente deve fazer uma nova pergunta com as especificidades do seu problema
STW
Use os arquivos da instalação de estoque do Magento. Em seguida, verifique se .htaccesso arquivo -File possui exatamente 1 nova linha vazia no final do arquivo depois #FileETag none. E o .htaccess.samplearquivo deve ter 2 novas linhas vazias no final do arquivo.
precisa saber é o seguinte

Respostas:

15

Parece que as mudanças tanto na minha .htaccessquanto na falta .htaccess.samplesão as culpadas. Depois de restaurar uma cópia de estoque de ambos os arquivos (ambos foram necessários), o patch parece ser aplicado com êxito.

Para resolver isso, sem perder as modificações (necessárias), siga estas etapas:

  1. Crie um backup de .htaccesse .htaccess.sample- com seu sistema de controle de versão ou copiando os arquivos

  2. Copiei uma versão 1.7.0.2 das ações .htaccesse .htaccess.samplepara dentro da minha base de código, substituindo minha.htaccess

  3. Aplicou o patch. A saída foi muito menor do que antes (2 linhas).

  4. Confirmou todas as alterações, incluindo .htaccess(para posteridade)

  5. Efetuou check-out da versão anterior .htaccess, sem o patch, e aplicou-o manualmente a esse arquivo.

Aqui está o git diffpatch, mostrando as linhas adicionadas:

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>
STW
fonte
Nota: Se você estiver enfrentando problemas semelhantes, mas isso não for corrigido, é possível que você tenha perdido um patch de segurança anterior. Verifique app/etc/applied.patches.liste / ou use magereport.com/scan para verificar se todos os patches de segurança anteriores foram aplicados & ndash; ** eles são necessários **
STW
Eu trabalhei comigo
jruzafa
O que isto significa? Warning: .htpasswd file should be placed somewhere not accessible from the webQualquer ideia?
Adarsh ​​Khatri
4

Eu tentei baixar versões de ações de .htaccesse .htaccess.samplee o patch ainda não se aplicaria mesmo depois de usar as versões de ações.

Para qualquer outra pessoa que esteja enfrentando esse problema, dê uma olhada neste artigo, que explica como remover as peças .htaccesse htaccess.sampledo próprio patch e adicioná-las manualmente depois: http://www.atwix.com/magento/security-patch-supee-6788 -Problemas de instalação/

CORRECÇÃO - edite o arquivo de correção removendo as linhas 163-195, começando pela linha

diff --git .htaccess .htaccess 

e termina com

+    </Files>

Você também pode precisar remover a parte relacionada a htaccess.sampleisso começa com

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

e termina às

+    </Files>

Depois disso, tente aplicar o patch novamente e ele deve ser aplicado com sucesso dessa vez.

Em seguida, precisamos adicionar o seguinte ao final de nossos arquivos .htaccesse .htaccess.samplepara que eles estejam atualizados conforme o patch

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

Após essas etapas, eu pude aplicar o patch com sucesso, espero que ajude!

James Collins
fonte
1
Eu atualizei minha postagem original para incluir a correção. Por favor, você pode explicar por que eu recebi votos negativos porque fiquei preso neste problema por horas até encontrar a correção que publiquei e esperava que isso pudesse ajudar outras pessoas envolvidas com isso.
James Collins
0

Eu tive o mesmo problema, foi porque eu baixei o patch errado. Estou usando o Magento EE 1.13 e baixei um patch CE ... Baixei o patch para o CE 1.8 enquanto seguia um tutorial, pensando que funcionaria para o EE 1.13. Certifique-se de baixar o patch para sua versão do Magento.

Laila
fonte
-1
  1. Faça backup de suas amostras .htaccess e .htaccess.sample
  2. Carregue os arquivos .htaccess e .htaccess.sample originais conforme sua versão do Magento.
  3. Execute o patch.
Gaurang Patel
fonte