Warum scheint PATCH_SUPEE-6788 keine Auswirkung auf eine 1.7.0.2-Installation zu haben?


21

Hinweis: Dieses Problem scheint auf alle Magento-Versionen zuzutreffen, die den SUPEE-6788-Patch erhalten haben. Sie werden in meinem sehen Antwort , dass beide .htaccess und .htaccess.sampleBedarf wiederhergestellt werden , damit der Patch erfolgreich zu sein.


Ich arbeite daran, den SUPEE-6788-Patch unter Verwendung des von magentocommerce.com/downloads bereitgestellten Shell-Skripts auf eine CE 1.7.0.2-Site anzuwenden . Auf der Site wurden alle vorherigen Sicherheitspatches angewendet.

Der Name des Skripts ist PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.shund hat eine MD5-Summe von cfc0cf533fe36a5f573414f0feeb1590(dieser Patch war insofern ungewöhnlich, als er unkomprimiert veröffentlicht wurde - obwohl die Datei nicht beschädigt oder abgeschnitten zu sein scheint).

Bei der Ausführung dieses Skripts wird in der Konsolenausgabe angezeigt, dass mindestens eines der enthaltenen Patches fehlgeschlagen ist oder übersprungen wurde, viele Teile des Patches jedoch erfolgreich waren. Es werden jedoch gitkeine Änderungen angezeigt . Das Skript wurde in zwei verschiedenen Umgebungen mit derselben Codebasis getestet - einer auf einer Ubuntu GNOME 14.04 LTS-Workstation und einer auf einem gemeinsam genutzten nexcess.com- Server (auf dem CentOS ausgeführt wird).

Interessant ist, dass die Ausgabe in den beiden Umgebungen leicht unterschiedlich ist. Beachten Sie die Zeilen, die mit "checking" vs. "patching" beginnen.

Ein Beispiel für die Ausgabe aus der Ubuntu-Umgebung:

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

Ein Beispiel aus der CentOS-Umgebung:

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

Ich werde den Fehler oben in der Ausgabe untersuchen und möglicherweise die Patches manuell anwenden - aber ich hatte gehofft, dass jemand einen Einblick in die Ursache oder eine relativ einfache Lösung hat.


Ich habe alle oben genannten Lösungen ausprobiert. Trotzdem kann ich den Patch 6788 nicht erfolgreich anwenden. Kann mir bitte jemand dabei helfen? Vielen Dank.
Mesk

Sind die Symptome gleich? Wenn nicht, sollten Sie wahrscheinlich eine neue Frage mit den Einzelheiten Ihres Problems stellen
STW

Verwenden Sie die Dateien der Magento-Stock-Installation. .htaccessStellen Sie dann sicher, dass Ihre Datei genau 1 leere Zeile am Ende der Datei hat #FileETag none. Und die .htaccess.sampleDatei muss am Ende der Datei 2 leere Zeilenumbrüche enthalten.
pbaldauf

Antworten:


15

Es scheint, dass Änderungen an meinem .htaccesssowie an einem vermissten .htaccess.sampleder Schuldige sind. Nach dem Wiederherstellen einer Standardkopie beider Dateien (beide waren erforderlich) scheint der Patch erfolgreich angewendet zu werden.

Um dies zu lösen, ohne (erforderliche) Änderungen zu verlieren, habe ich die folgenden Schritte ausgeführt:

  1. Erstellen Sie ein Backup von .htaccessund - .htaccess.sampleentweder mit Ihrem Versionskontrollsystem oder durch Kopieren der Dateien

  2. Kopierte eine Version 1.7.0.2 von .htaccessund .htaccess.samplein meine Codebasis und ersetzte meine angepasste.htaccess

  3. Wendete den Patch an. Die Ausgabe war viel kürzer als zuvor (2 Zeilen).

  4. Alle Änderungen übernommen, einschließlich .htaccess(für die Nachwelt)

  5. Hat die vorherige Version von .htaccessohne den Patch ausgecheckt und den Patch manuell auf diese Datei angewendet.

Hier ist der git diffPatch mit den hinzugefügten Zeilen:

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>

Hinweis: Wenn bei Ihnen ähnliche Probleme auftreten, diese jedoch nicht behoben werden, haben Sie möglicherweise einen vorherigen Sicherheitspatch verpasst. Überprüfen Sie app/etc/applied.patches.listund / oder verwenden Sie magereport.com/scan , um sicherzustellen , dass alle vorherigen Sicherheitspatches angewendet wurden. ** Sie sind erforderlich **
STW

Ich habe für mich gearbeitet
jruzafa 29.10.15

Was bedeutet das? Warning: .htpasswd file should be placed somewhere not accessible from the webIrgendeine Idee?
Adarsh ​​Khatri

4

Ich habe versucht, Standardversionen von .htaccessund herunterzuladen, .htaccess.sampleund der Patch würde auch nach Verwendung der Standardversionen nicht angewendet werden.

Für alle anderen, bei denen dieses Problem auftritt, wird in diesem Artikel erläutert, wie Sie die .htaccessund htaccess.sample-Teile aus dem Patch selbst entfernen und anschließend manuell hinzufügen können: http://www.atwix.com/magento/security-patch-supee-6788 -Installationsprobleme/

UPDATE - Bearbeiten Sie die Patch-Datei, indem Sie die Zeilen 163-195 entfernen, die mit der Zeile beginnen

diff --git .htaccess .htaccess 

und endet mit

+    </Files>

Möglicherweise müssen Sie auch den Teil entfernen, der sich darauf bezieht und mit htaccess.samplebeginnt

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

und endet um

+    </Files>

Versuchen Sie anschließend erneut, den Patch anzuwenden. Diesmal sollte er erfolgreich angewendet werden.

Als nächstes müssen wir das Folgende an das Ende unserer .htaccessund der .htaccess.sampleDateien anfügen, damit sie gemäß dem Patch auf dem neuesten Stand sind

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

Nach diesen Schritten konnte ich den Patch erfolgreich anwenden, hoffe das hilft!


1
Ich habe meinen ursprünglichen Beitrag mit dem Fix aktualisiert. Bitte erläutern Sie, warum ich abgelehnt wurde, da ich stundenlang an diesem Problem festhielt, bis ich den Fix fand, den ich gepostet habe, und ich hoffte, dass er anderen dabei helfen könnte.
James Collins


0

Ich hatte das gleiche Problem, weil ich den falschen Patch heruntergeladen habe. Ich verwende Magento EE 1.13 und habe einen CE-Patch heruntergeladen ... Ich habe den Patch für CE 1.8 heruntergeladen, während ich einem Tutorial gefolgt bin und dachte, er würde für EE 1.13 funktionieren. Stellen Sie sicher, dass Sie den Patch für Ihre Magento-Version herunterladen.


-1
  1. Sichern Sie Ihre .htaccess- und .htaccess.sample-Dateien
  2. Laden Sie die Originaldateien .htaccess und .htaccess.sample gemäß Ihrer Magento-Version hoch.
  3. Patch ausführen.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.