Pourquoi PATCH_SUPEE-6788 semble-t-il n'avoir aucun effet sur une installation 1.7.0.2?

21

Remarque: ce problème semble s'appliquer à toutes les versions de Magento qui ont reçu le correctif SUPEE-6788. Vous verrez dans ma réponse que les deux .htaccess et .htaccess.sampledoivent être restaurés pour que le patch réussisse.


Je travaille sur l'application du correctif SUPEE-6788 à un site CE 1.7.0.2 à l'aide du script shell fourni par magentocommerce.com/downloads . Le site a déjà appliqué tous les correctifs de sécurité précédents.

Le nom du script est PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.shet a une somme md5 de cfc0cf533fe36a5f573414f0feeb1590(ce correctif était inhabituel dans la mesure où il a été publié non compressé, bien que le fichier ne semble pas corrompu ou tronqué).

Lors de l'exécution de ce script, la sortie de la console semble indiquer qu'au moins l'un des correctifs inclus a échoué ou a été ignoré, mais que de nombreuses parties du correctif ont réussi, mais gitne montrent aucune modification. Le script a été testé sur deux environnements différents avec la même base de code - l'un une station de travail Ubuntu GNOME 14.04 LTS, l'autre un serveur partagé nexcess.com (exécutant CentOS).

Il est intéressant de noter que la sortie sur les deux environnements est légèrement différente. Notez les lignes commençant par "vérification" vs "correction".

Un exemple de sortie de l'environnement 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 échantillon de l'environnement 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
...

Je vais creuser l'erreur en haut de la sortie et éventuellement appliquer manuellement les correctifs - mais j'espérais que quelqu'un pourrait avoir un aperçu de la cause ou d'une solution relativement simple.

STW
la source
J'ai essayé toutes les solutions mentionnées ci-dessus. Mais je ne peux toujours pas appliquer le patch 6788 avec succès. Quelqu'un peut-il m'aider à ce sujet? Merci.
Mesk
Les symptômes sont-ils les mêmes? Sinon, vous devriez probablement poser une nouvelle question avec les détails de votre problème
STW
Utilisez les fichiers de l'installation de stock Magento. Assurez-vous ensuite que votre .htaccess-File a exactement 1 nouvelle ligne vide à la fin du fichier après #FileETag none. Et le .htaccess.samplefichier doit avoir 2 sauts de ligne vides à la fin du fichier.
pbaldauf

Réponses:

15

Il semble que les modifications apportées à mon .htaccessainsi qu'un disparu .htaccess.samplesont le coupable. Après avoir restauré une copie de stock des deux fichiers (les deux étaient requis), le correctif semble s'appliquer correctement.

Pour résoudre ce problème, sans perdre les modifications (nécessaires), j'ai suivi ces étapes:

  1. Créez une sauvegarde de .htaccesset .htaccess.sample–avec votre système de contrôle de version ou en copiant les fichiers

  2. Copié une version stock 1.7.0.2 de .htaccesset .htaccess.sampledans ma base de code, remplaçant mon personnalisé.htaccess

  3. Appliqué le patch. La sortie était beaucoup plus courte qu'auparavant (2 lignes).

  4. Validé tous les changements, y compris .htaccess(pour la postérité)

  5. Récupéré la version précédente de .htaccess, sans le correctif, et appliqué manuellement le correctif à ce fichier.

Voici git diffle patch, montrant les lignes ajoutées:

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
la source
Remarque: Si vous rencontrez des problèmes similaires, mais que cela ne le résout pas, vous avez peut-être manqué un correctif de sécurité précédent. Vérifiez app/etc/applied.patches.listet / ou utilisez magereport.com/scan pour vérifier que tous les correctifs de sécurité antérieurs ont été appliqués & ndash; ** ils sont requis **
STW
J'ai travaillé pour moi
jruzafa
Qu'est-ce que ça veut dire? Warning: .htpasswd file should be placed somewhere not accessible from the webUne idée?
Adarsh ​​Khatri
4

J'ai essayé de télécharger les versions stock de .htaccesset .htaccess.sampleet le patch ne s'appliquerait toujours pas même après avoir utilisé les versions stock.

Pour toute autre personne rencontrant ce problème, consultez cet article, il explique comment supprimer le .htaccess et les htaccess.sampleparties du correctif lui-même, puis les ajouter manuellement après: http://www.atwix.com/magento/security-patch-supee-6788 -installation-issues /

RÉPARER - modifiez le fichier de patch en supprimant les lignes 163-195 en commençant par la ligne

diff --git .htaccess .htaccess 

et se termine par

+    </Files>

Vous devrez peut-être également supprimer la partie relative à htaccess.sample cela commence par

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

et se termine à

+    </Files>

Après cela, essayez à nouveau d'appliquer le patch et il devrait s'appliquer avec succès cette fois.

Ensuite, nous devons ajouter les éléments suivants à la fin de nos fichiers .htaccesset .htaccess.sampleafin qu'ils soient à jour conformément au correctif

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

En suivant ces étapes, j'ai pu appliquer le patch avec succès, j'espère que cela vous aidera!

James Collins
la source
1
J'ai mis à jour mon message d'origine pour inclure le correctif, pouvez-vous expliquer pourquoi j'ai été rétrogradé car je suis resté bloqué sur ce problème pendant des heures jusqu'à ce que je trouve le correctif que j'ai publié et j'espérais que cela pourrait aider d'autres personnes à rester avec cela.
James Collins
0

J'ai eu le même problème, c'est parce que j'ai téléchargé le mauvais patch. J'utilise Magento EE 1.13 et j'avais téléchargé un correctif CE ... J'ai téléchargé le correctif pour CE 1.8 tout en suivant un tutoriel, pensant que cela fonctionnerait pour EE 1.13. Assurez-vous de télécharger le correctif pour votre version de Magento.

Laila
la source
-1
  1. Sauvegardez votre .htaccess et .htaccess.sample
  2. Téléchargez les fichiers .htaccess et .htaccess.sample d'origine selon votre version de Magento.
  3. Exécutez le patch.
Gaurang Patel
la source