Perché PATCH_SUPEE-6788 sembra non avere alcun effetto su un'installazione 1.7.0.2?


21

Nota: questo problema sembra applicarsi a tutte le versioni di Magento che hanno ricevuto la patch SUPEE-6788. Vedrai nella mia risposta che entrambi .htaccess e .htaccess.sampledevono essere ripristinati affinché la patch abbia successo.


Sto lavorando per applicare la patch SUPEE-6788 a un sito CE 1.7.0.2 usando lo script shell fornito da magentocommerce.com/downloads . Nel sito sono state applicate tutte le patch di sicurezza precedenti.

Il nome dello script è PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.she ha un md5sum di cfc0cf533fe36a5f573414f0feeb1590(questa patch era insolita in quanto è stata rilasciata non compressa, sebbene il file non appaia corrotto o troncato).

Quando si esegue questo script, l'output della console sembra indicare che almeno una delle patch incluse non è riuscita o è stata ignorata, ma che molte parti della patch hanno avuto esito positivo, tuttavia non gitviene visualizzato alcun cambiamento. Lo script è stato testato su due diversi ambienti con la stessa base di codice: uno una workstation Ubuntu GNOME 14.04 LTS, l'altro un server condiviso nexcess.com (che esegue CentOS).

È interessante notare che l'output sui due ambienti è leggermente diverso. Nota le righe che iniziano con "verifica" vs "patching".

Un esempio di output dall'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
...

Un esempio dall'ambiente 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
...

Analizzerò l'errore nella parte superiore dell'output e possibilmente applicherò manualmente le patch, ma speravo che qualcuno potesse avere un'idea della causa o una soluzione relativamente semplice.


Ho provato tutte le soluzioni sopra menzionate. Ma non riesco ancora ad applicare correttamente la patch 6788. Qualcuno può aiutarmi per favore su questo? Grazie.
Mesk,

I sintomi sono gli stessi? Altrimenti dovresti probabilmente fare una nuova domanda con le specifiche del tuo problema
STW,

Utilizzare i file dell'installazione stock di Magento. Quindi assicurati che il tuo .htaccess-File abbia esattamente 1 newline vuota alla fine del file dopo #FileETag none. E il .htaccess.samplefile deve contenere 2 righe vuote alla fine del file.
pbaldauf,

Risposte:


15

Sembra che il colpevole sia le mie modifiche che .htaccessquelle mancanti .htaccess.sample. Dopo aver ripristinato una copia stock di entrambi i file (entrambi erano necessari), la patch sembra applicarsi correttamente.

Per risolvere questo problema, senza perdere (necessarie) modifiche, ho seguito questi passaggi:

  1. Crea un backup di .htaccesse .htaccess.sample–e con il tuo sistema di controllo versione o copiando i file

  2. Ho copiato una versione 1.7.0.2 originale di .htaccesse .htaccess.samplenel mio codebase, sostituendo il mio personalizzato.htaccess

  3. Applicata la patch. L'output è stato molto più breve di prima (2 righe).

  4. Sono state apportate tutte le modifiche, tra cui .htaccess(per i posteri)

  5. Controllato la versione precedente di .htaccess, senza la patch, e applicato manualmente la patch a quel file.

Ecco git diffla patch, che mostra le linee aggiunte:

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>

Nota: se si verificano problemi simili, ma questo non lo risolve, è possibile che si sia persa una precedente patch di sicurezza. Controlla app/etc/applied.patches.liste / o usa magereport.com/scan per verificare che tutte le patch di sicurezza precedenti siano state applicate & ndash; ** sono necessarie **
STW

Ho lavorato per me
jruzafa,

Cosa significa questo? Warning: .htpasswd file should be placed somewhere not accessible from the webQualche idea?
Adarsh ​​Khatri,

4

Ho provato a scaricare le versioni stock di .htaccesse .htaccess.samplela patch non si applicava nemmeno dopo aver utilizzato le versioni stock.

Per chiunque abbia questo problema, dai un'occhiata a questo articolo che spiega come rimuovere le parti .htaccesse htaccess.sampledalla patch stessa, quindi aggiungerle manualmente dopo: http://www.atwix.com/magento/security-patch-supee-6788 -Installazione-problemi /

FIX : modifica il file patch rimuovendo le righe 163-195 che iniziano con la riga

diff --git .htaccess .htaccess 

e termina con

+    </Files>

Potrebbe anche essere necessario rimuovere la parte relativa a htaccess.samplequesto inizia con

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

e finisce a

+    </Files>

Al termine, prova ad applicare nuovamente la patch e questa volta dovrebbe applicarsi correttamente.

Quindi dobbiamo aggiungere quanto segue alla fine dei nostri .htaccesse dei .htaccess.samplefile in modo che siano aggiornati secondo la 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>

Seguendo questi passaggi sono stato in grado di applicare correttamente la patch, spero che questo aiuti!


1
Ho aggiornato il mio post originale per includere la correzione, per favore puoi spiegare perché sono stato sottoposto a downgrade poiché sono rimasto bloccato su questo problema per ore fino a quando ho trovato la correzione che ho pubblicato e speravo che potesse aiutare gli altri bloccati con questo.
James Collins,


0

Ho avuto lo stesso problema, perché ho scaricato la patch sbagliata. Sto usando Magento EE 1.13 e avevo scaricato una patch CE ... Ho scaricato la patch per CE 1.8 mentre seguivo un tutorial, pensando che avrebbe funzionato per EE 1.13. Assicurati di scaricare la patch per la tua versione di Magento.


-1
  1. Esegui il backup dei tuoi .htaccess e .htaccess.sample
  2. Carica i file .htaccess e .htaccess.sample originali secondo la tua versione di Magento.
  3. Esegui patch.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.