Applied PATCH_SUPEE-6285 - Muss ich noch etwas tun?

7

Nachdem ich aufgefordert wurde, den neuen Patch zu installieren, habe ich dies sofort getan.

Aber jetzt bin ich zurückgegangen und habe mir die .sh-Datei angesehen. Ich habe festgestellt, dass Änderungen an den Vorlagendateien vorgenommen werden.

Ich hatte ein benutzerdefiniertes Thema und auf meiner Website ist auch eine Onestep-Checkout-Erweiterung installiert. Muss ich den Patch irgendwie auf diese anwenden oder muss ich mir keine Sorgen machen?

Joseph Drury
quelle
Es sieht so aus, als ob die ACL mit diesem Patch

Antworten:

14

Es gibt eine Reihe von Änderungen, die Sie zusätzlich zum Ausführen des Patches vornehmen müssen.

Ich habe hier den Patch 1.9.1.1 als Beispiel verwendet, aber leider unterscheiden sich die Patches je nach Veröffentlichung.


Benutzerdefinierte Vorlagendateien

Wenn Sie die base/defaultVorlage mit Ihrem eigenen Paket / Design geändert oder überschrieben haben , müssen Sie die Patches bei Bedarf manuell auf Folgendes anwenden.

In app/design/frontend/base/default/template/checkout/cart.phtml,

- <button type="button" title="<?php echo $this->__('Continue Shopping') ?>" class="button btn-continue" onclick="setLocation('<?php echo $this->getContinueShoppingUrl() ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
+ <button type="button" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Continue Shopping')) ?>" class="button btn-continue" onclick="setLocation('<?php echo Mage::helper('core')->quoteEscape($this->getContinueShoppingUrl()) ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>

In app/design/frontend/base/default/template/checkout/cart/noItems.phtml,

- <p><?php echo $this->__('Click <a href="%s">here</a> to continue shopping.', $this->getContinueShoppingUrl()) ?></p>
+ <p><?php echo $this->__('Click <a href="%s">here</a> to continue shopping.', Mage::helper('core')->quoteEscape($this->getContinueShoppingUrl())) ?></p>

Im app/design/frontend/base/default/template/checkout/onepage/failure.phtml

-<p><?php echo $this->__('Click <a href="%s">here</a> to continue shopping.', $this->getContinueShoppingUrl()) ?></p>
+<p><?php echo $this->__('Click <a href="%s">here</a> to continue shopping.', Mage::helper('core')->quoteEscape($this->getContinueShoppingUrl())) ?></p>

In app/design/frontend/base/default/template/rss/order/details.phtml,

- <?php echo $this->__('Customer Name: %s', $_order->getCustomerFirstname()?$_order->getCustomerName():$_order->getBillingAddress()->getName()) ?><br />
- <?php echo $this->__('Purchased From: %s', $_order->getStore()->getGroup()->getName()) ?><br />
+ <?php $customerName = $_order->getCustomerFirstname() ? $_order->getCustomerName() : $_order->getBillingAddress()->getName(); ?>
+ <?php echo $this->__('Customer Name: %s', Mage::helper('core')->escapeHtml($customerName)) ?><br />
+ <?php echo $this->__('Purchased From: %s', Mage::helper('core')->escapeHtml($_order->getStore()->getGroup()->getName())) ?><br />

In app/design/frontend/base/default/template/wishlist/email/rss.phtml,

- <?php echo $this->__("RSS link to %s's wishlist",$this->helper('wishlist')->getCustomerName()) ?>
+ <?php echo $this->__("RSS link to %s's wishlist", Mage::helper('core')->escapeHtml($this->helper('wishlist')->getCustomerName())) ?>

In app/design/frontend/default/modern/template/checkout/cart.phtml,

- <button type="button" title="<?php echo $this->__('Continue Shopping') ?>" class="button btn-continue" onclick="setLocation('<?php echo $this->getContinueShoppingUrl() ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
+ <button type="button" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Continue Shopping')) ?>" class="button btn-continue" onclick="setLocation('<?php echo Mage::helper('core')->quoteEscape($this->getContinueShoppingUrl()) ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>

.htaccess Regeln

Wenn Sie keinen .htaccesskompatiblen Webserver verwenden , müssen Sie die folgenden Verweigerungsregeln manuell hinzufügen.

Für Nginx ,

location /downloader/Maged/ { deny all; }
location /downloader/lib/   { deny all; }

Dateiberechtigungen

Wenn der Benutzer Ihres Webserver-PHP-Prozesses nicht der Eigentümer des Dokumentstamms ist und sich auf Gruppenberechtigungen stützt und die Verzeichnisse var/reportoder var/logentfernt werden, treten Probleme mit den neuen Standarddateiberechtigungen auf.

Z.B. Im folgenden Szenario

PHP User:        www-data
Doc Root User:   sonassi
Doc Root Group:  www-data
www-data members: sonassi, www-data

Durch die überarbeiteten Standarddateiberechtigungen 0750von werden der Gruppe Schreibberechtigungen entzogen. Dadurch wird verhindert, dass Ihr Webserver in das Verzeichnis schreiben kann.

Wenn Sie sich auf die everyoneBerechtigung verlassen, wird der gesamte Zugriff entfernt.

Ben Lessani - Sonassi
quelle
Es scheint, dass die einzige Datei, die ich ändern musste, cart.phtml war. Alle anderen sind in meinen Designvorlagendateien nicht vorhanden, daher sollten sie die Standarddateien verwenden, die bereits gepatcht wurden. Mein Server verwendet .htaccess, das ist also alles gut. Und ich muss über die Dateiberechtigungen
nachdenken
Warum gibt es Quotesescape um die Zeichenfolge "weiter einkaufen"? wurde das durch einen Fehler hinzugefügt (ich meine damit, ich habe gesehen, dass es im Patch existiert), aber andere Zeichenfolgen, die nicht mit demselben umgeben sind.
Gefürchtetes Semikolon
3

Sehen Sie sich die Änderungen an, die an den Vorlagendateien vorgenommen wurden. Wenn Ihr benutzerdefiniertes Design diese Vorlagen enthält (was höchstwahrscheinlich bei der cart.phtmlVorlage der Fall ist), müssen Sie dieselben Änderungen manuell in den Vorlagen des Designs anwenden .

Fabian Schmengler
quelle
Ich habe die Checkout-Erweiterungsdateien überprüft und die Dateistruktur ist wie folgt. app \ design \ frontend \ base \ default \ template \ onestepcheckout. Während der Patch die Datei in app / design / frontend / base / default / template / checkout / ändert, existieren die Dateien wie cart.phtml und noItems.phtml und fail.phtml in meiner Erweiterung nicht
Joseph Drury
Die Checkout-Erweiterung ändert normalerweise nicht die Warenkorbvorlage, das ist also in Ordnung. Es ist jedoch wichtig, dass Sie überprüfen, ob Ihr Thema diese Vorlagen überschreibt. Wenn nicht, werden die von base / default verwendet und alles ist in Ordnung
Fabian Schmengler
Ja, mein Thema überschreibt die Standardeinstellungen, die ich denke. app \ design \ frontend \ ultimo \ default \ template \ checkout \ cart.phtml
Joseph Drury