Чому, здається, що 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є md5сум 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
...

Я буду розбиратися в помилці у верхній частині результату і, можливо, застосувати виправлення вручну - але сподівався, що хтось може зрозуміти причину чи порівняно просте виправлення.


Я спробував усі вищезгадані рішення. Але все-таки я не можу успішно застосувати патч 6788. Може хто-небудь, будь ласка, допоможе в цьому? Спасибі.
Mesk

Чи однакові симптоми? Якщо ні, то, ймовірно, вам слід задати нове запитання зі специфікою вашого питання
STW

Використовуйте файли інсталяції Magento. Потім переконайтесь, що .htaccessу файлу -файла є рівно 1 порожній новий рядок в кінці файлу після #FileETag none. А у .htaccess.sampleФайлі має бути два порожніх рядки на кінці файлу.
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>

Примітка. Якщо у вас виникають подібні проблеми, але це не усувається, можливо, ви пропустили попередній патч безпеки. Перевірте app/etc/applied.patches.listта / або використовуйте magereport.com/scan, щоб перевірити, чи були застосовані всі попередні виправлення безпеки & ndash; ** вони потрібні **
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 -встановлення-проблеми /

Виправлення - відредагуйте файл виправлення, видаливши рядки 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. Виконати виправлення.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.