Как устранить ошибки обновления/возврата исправлений? СУПИ-6285 и 1.9.2.0


При возврате исправления SUPEE-6285 (для установки SUPEE-6285-V2) я получаю такие ошибки, как

Загрузчик файлов исправлений/шаблон/подключение/package_prepare.phtml Красавчик № 1 ПОТЕРПЕЛ НЕУДАЧУ в 33 года. 1 из 1 куска НЕ УДАЛСЯ - сохранение отклонений в загрузчике файлов/шаблоне/подключении/package_prepare.phtml.rej

У меня были такие раньше с разными исправлениями, но обычно замена этих файлов файлом решает проблему. Однако с этим патчем, замена файлами как из magento 1.9.2 до, так и после обновления SUPEE-6285 V2 не работает.

Я запускаю 1.9.2. Кто-нибудь еще сталкивается с этой проблемой? И какова наилучшая практика для исправления? Я бы предположил, что вам следует что-то сделать с файлом .rej, они не созданы.

Author: Fabian Schmengler, 2015-07-11

2 answers

Обновление: этот ответ применим к Magento 1.9.1.1 и более ранним, Magento 1.9.2.0 не нуждается ни в одном из текущих исправлений (до SUPEE-6285), что также является причиной ваших сообщений об ошибках.


Сначала вам нужно применить SUPEE-5994, потому что он исправил тот же файл, и это первый патч, который еще не содержится в Magento 1.9.1.1

 1
Author: Fabian Schmengler, 2015-07-12 12:10:16

app/design/frontend/rwd/default/template/checkout/cart.phtml

Исправление SUPEE-6285 V2 добавляет функцию quoteEscape() для решения проблемы XSS.

Если вы используете 1.9.2.0, он уже исправлен с помощью SUPEE-5344, SUPEE-5994 и SUPEE-6285. Кнопка Продолжить покупки экранирована для предотвращения XSS следующим образом (как извлечено из архивного файла Magento 1.9.2.0):

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

Код в 1.9.1.1 допускает XSS и выглядит следующим образом (как извлечено из файла архива Magento 1.9.1.1):

<?php if($this->getContinueShoppingUrl()): ?>
    <button type="button" title="<?php echo $this->__('Continue Shopping') ?>" class="button2 btn-continue" onclick="setLocation('<?php echo $this->getContinueShoppingUrl() ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
<?php endif; ?>

Что такое патч SUPEE-6285 v2 относится к app/design/frontend/rwd/default/template/checkout/cart.phtml в 1.9.x.x до версии 1.9.2.0, которая уже включает исправление:

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

Разница между SUPEE-6285 V1 и V2 показывает, что единственным изменением был шаблон RWD:

160c160
< SUPEE-6285 | CE_1.9.1.1 | v1 | 7226d88b1eeb07a5fbc4e62be189a5219457cc14 | Mon Jun 22 16:32:26 2015 +0300 | 202596e441..7226d88b1e
---
> SUPEE-6285 | CE_1.9.1.1 | v2 | 7226d88b1eeb07a5fbc4e62be189a5219457cc14 | Mon Jun 22 16:32:26 2015 +0300 | 202596e441..7226d88b1e
1065a1065,1077
> diff --git app/design/frontend/rwd/default/template/checkout/cart.phtml app/design/frontend/rwd/default/template/checkout/cart.phtml
> index 7bceece..88753c3 100644
> --- app/design/frontend/rwd/default/template/checkout/cart.phtml
> +++ app/design/frontend/rwd/default/template/checkout/cart.phtml
> @@ -115,7 +115,7 @@
>                          <span class="or">-<?php echo $this->__('or'); ?>-</span>
>  
>                          <?php if($this->getContinueShoppingUrl()): ?>
> -                            <button type="button" title="<?php echo $this->__('Continue Shopping') ?>" class="button2 btn-continue" onclick="setLocation('<?php echo $this->getContinueShoppingUrl() ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
> +                            <button type="button" title="<?php echo $this->quoteEscape($this->__('Continue Shopping')) ?>" class="button2 btn-continue" onclick="setLocation('<?php echo Mage::helper('core')->quoteEscape($this->getContinueShoppingUrl()) ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
>                          <?php endif; ?>
>                          <!--[if lt IE 8]>
>                          <input type="hidden" id="update_cart_action_container" />
 2
Author: Fiasco Labs, 2015-07-11 22:08:16