Почему ПАТЧ SUPEE-6788, похоже, не влияет на установку 1.7.0.2?


Примечание: Эта проблема, по-видимому, относится ко всем версиям Magento, которые получили исправление SUPEE-6788. Вы увидите в моем ответе , что оба .htaccess и .htaccess.sample необходимо восстановить, чтобы исправление прошло успешно.


Я работаю над применением исправления SUPEE-6788 к сайту CE 1.7.0.2 с использованием сценария оболочки, предоставленного magentocommerce.com/downloads . На сайте были применены все предыдущие исправления безопасности.

В имя скрипта PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh и имеет md5sum cfc0cf533fe36a5f573414f0feeb1590 (этот патч был необычен тем, что он был выпущен несжатым – хотя файл не выглядит поврежденным или усеченным).

При запуске этого сценария вывод консоли, по-видимому, указывает на то, что по крайней мере один из включенных исправлений не удался или был пропущен, но многие части исправления были успешными, однако git не показывает изменений. Сценарий был протестирован в двух разных средах с одной и той же кодовой базой - одна из них - Ubuntu GNOME 14.04 Рабочая станция LTS, другая a nexcess.com общий сервер (под управлением CentOS).

Интерес представляет то, что выходные данные в двух средах немного отличаются. Обратите внимание на строки, начинающиеся с "проверка" и "исправление".

Пример вывода из среды 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
...

Образец из среды 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
...

Я буду копаться в ошибке в верхней части вывода и, возможно, вручную применю исправления - но надеялся, что у кого-то может быть представление о причине или относительно простое решение.

Author: Community, 2015-10-27

5 answers

Похоже, что виновником являются изменения в моем .htaccess, а также отсутствие .htaccess.sample. После восстановления стандартной копии обоих файлов (оба были необходимы) исправление, похоже, успешно применяется.

Чтобы решить эту проблему, не теряя (необходимых) модификаций, я выполнил следующие действия:

  1. Создайте резервную копию .htaccess и .htaccess.sample – либо с помощью вашей системы управления версиями, либо путем копирования файлов

  2. Скопировал стандартную версию 1.7.0.2 .htaccess и .htaccess.sample в мой кодовая база, заменяющая мою настроенную .htaccess

  3. Наложил пластырь. Вывод был намного короче, чем раньше (2 строки).

  4. Совершил все изменения, включая .htaccess (для потомства)

  5. Проверил предыдущую версию .htaccess без исправления и вручную применил исправление к этому файлу.

Вот git diff исправления, в котором показаны добавленные строки:

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>
 15
Author: STW, 2015-10-28 14:58:55

Я попытался загрузить стандартные версии .htaccess и .htaccess.sample, и исправление все равно не будет применяться даже после использования стандартных версий.

Для тех, кто еще испытывает эту проблему, ознакомьтесь с этой статьей, в которой объясняется, как удалить части .htaccess и htaccess.sample из самого исправления, а затем вручную добавить их после: http://www.atwix.com/magento/security-patch-supee-6788-installation-issues/

ИСПРАВИТЬ - отредактируйте файл исправления, удалив строки 163-195 начиная со строки

diff --git .htaccess .htaccess 

И заканчивается на

+    </Files>

Вам также может потребоваться удалить часть, относящуюся к htaccess.sample это начинается с

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

И заканчивается на

+    </Files>

После того, как это будет сделано, попробуйте применить патч еще раз, и на этот раз он должен быть успешно применен.

Далее нам нужно добавить следующее в конец наших файлов .htaccess и .htaccess.sample, чтобы они были обновлены в соответствии с исправлением

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

Выполнив эти шаги, я смог применить исправьте успешно, надеюсь, это поможет!

 4
Author: James Collins, 2015-11-26 15:32:05

Это может помочь вам, даже если это другая версия - https://community.magento.com/t5/Security-Patches/1-9-1-0-applying-patch-6788-hunk-failed/td-p/20070

 3
Author: Vicky Toshach, 2015-10-27 23:55:04

У меня была та же проблема, потому что я загрузил неправильный патч. Я использую Magento EE 1.13, и я загрузил патч CE... Я скачал патч для CE 1.8, следуя учебнику, думая, что он будет работать для EE 1.13. Убедитесь, что вы скачали исправление для своей версии Magento.

 0
Author: Laila, 2015-11-03 21:11:34
  1. Создайте резервную копию файла .htaccess и .htaccess.sample
  2. Загрузите оригинальные файлы .htaccess и .htaccess.sample в соответствии с вашей версией Magento.
  3. Выполнить исправление.
 -1
Author: Gaurang Patel, 2017-09-01 11:23:57