Почему PATCH_SUPEE-6788 никак не влияет на установку 1.7.0.2?

21

Примечание. Эта проблема, по-видимому, относится ко всем версиям 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, другая - общий сервер 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
...

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

STW
источник
Я перепробовал все решения, упомянутые выше. Но все же я не могу успешно применить патч 6788. Может ли кто-нибудь, пожалуйста, помочь в этом? Спасибо.
Меска
Симптомы одинаковы? Если нет, то, вероятно, вам следует задать новый вопрос со спецификой вашей проблемы
STW
Используйте файлы стоковой установки Magento. Затем убедитесь, что ваш .htaccess-File содержит ровно 1 пустой символ новой строки в конце файла после #FileETag none. И .htaccess.sampleФайл должен иметь 2 пустых символа новой строки в конце файла.
pbaldauf

Ответы:

15

Похоже, что изменения в моем, .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>
STW
источник
Примечание. Если у вас возникли похожие проблемы, но это не помогло, возможно, вы пропустили предыдущее исправление безопасности. Проверьте app/etc/applied.patches.listи / или используйте magereport.com/scan, чтобы убедиться, что все предыдущие исправления безопасности были применены - ** они необходимы **
STW
Я работал на меня
jruzafa
Что это значит? Warning: .htpasswd file should be placed somewhere not accessible from the webЕсть идеи?
Адарш Хатри
4

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

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

FIX - отредактируйте файл патча, удалив строки 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>

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

Джеймс Коллинз
источник
1
Я обновил свой исходный пост, чтобы включить исправление. Пожалуйста, вы можете объяснить, почему я был отклонен, поскольку я застрял в этой проблеме на несколько часов, пока не нашел исправление, которое я опубликовал, и я надеялся, что оно может помочь другим, застрявшим в этом.
Джеймс Коллинз
0

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

Лайла
источник
-1
  1. Сделайте резервную копию ваших .htaccess и .htaccess.sample
  2. Загрузите оригинальные файлы .htaccess и .htaccess.sample в соответствии с вашей версией Magento.
  3. Выполнить патч.
Гауранг Патель
источник