Mengapa PATCH_SUPEE-6788 tampaknya tidak berpengaruh pada instalasi 1.7.0.2?

21

Catatan: Masalah ini tampaknya berlaku untuk semua versi Magento yang menerima tambalan SUPEE-6788. Anda akan melihat dalam jawaban saya bahwa keduanya .htaccess dan .htaccess.sampleperlu dipulihkan agar patch berhasil.


Saya sedang berupaya menerapkan tambalan SUPEE-6788 ke situs CE 1.7.0.2 menggunakan skrip shell yang disediakan oleh magentocommerce.com/downloads . Situs ini telah menerapkan semua tambalan keamanan sebelumnya.

Nama skrip adalah PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.shdan memiliki md5sum of cfc0cf533fe36a5f573414f0feeb1590(tambalan ini tidak biasa karena dirilis tanpa terkompresi-meskipun file tidak tampak rusak atau terpotong).

Saat menjalankan skrip ini, output konsol muncul untuk menunjukkan bahwa setidaknya satu dari tambalan yang disertakan gagal atau dilewati, tetapi banyak bagian tambalan yang berhasil, namun gittidak menunjukkan perubahan. Script telah diuji pada dua lingkungan yang berbeda dengan basis kode yang sama - satu adalah workstation Ubuntu GNOME 14.04 LTS, yang lainnya server bersama nexcess.com (menjalankan CentOS).

Yang menarik adalah bahwa output pada dua lingkungan sedikit berbeda. Perhatikan baris yang dimulai dengan "memeriksa" vs "menambal".

Contoh output dari lingkungan 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
...

Sampel dari lingkungan 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
...

Saya akan menggali kesalahan di bagian atas output dan mungkin secara manual menerapkan tambalan - tetapi berharap bahwa seseorang mungkin memiliki wawasan tentang penyebabnya atau perbaikan yang relatif sederhana.

STW
sumber
Saya sudah mencoba semua solusi yang disebutkan di atas. Tapi saya masih belum bisa menerapkan tambalan 6788 dengan sukses. Adakah yang bisa membantu dalam hal ini? Terima kasih.
Mesk
Apakah gejalanya sama? Jika tidak, Anda mungkin harus mengajukan pertanyaan baru dengan spesifik masalah Anda
STW
Gunakan file instalasi stok Magento. Kemudian pastikan .htaccess-File Anda memiliki tepat 1 baris kosong di akhir file setelahnya #FileETag none. Dan .htaccess.sampleFile harus memiliki 2 baris kosong di akhir file.
pbaldauf

Jawaban:

15

Tampaknya perubahan pada saya .htaccessdan yang hilang .htaccess.sampleadalah biang keladinya. Setelah mengembalikan salinan stok kedua file (keduanya diperlukan) tambalan tampaknya berhasil diterapkan.

Untuk mengatasi ini, tanpa kehilangan modifikasi (diperlukan), saya mengikuti langkah-langkah ini:

  1. Buat cadangan .htaccessdan – .htaccess.sampleentah dengan sistem kontrol versi Anda atau dengan menyalin file

  2. Menyalin versi 1.7.0.2 stok .htaccessdan .htaccess.sampleke basis kode saya, menggantikan disesuaikan saya.htaccess

  3. Menerapkan tambalan. Outputnya jauh lebih pendek dari sebelumnya (2-baris).

  4. Melakukan semua perubahan, termasuk .htaccess(untuk anak cucu)

  5. Memeriksa versi sebelumnya .htaccess, tanpa tambalan, dan secara manual menerapkan tambalan ke file itu.

Inilah bagian git diffdari tambalan, menunjukkan garis yang ditambahkan:

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
sumber
Catatan: Jika Anda mengalami masalah serupa, tetapi ini tidak memperbaikinya, maka Anda mungkin melewatkan patch keamanan sebelumnya. Periksa app/etc/applied.patches.listdan / atau gunakan magereport.com/scan untuk memverifikasi bahwa semua tambalan keamanan sebelumnya telah diterapkan & ndash; ** wajib diisi **
STW
Saya bekerja untuk saya
jruzafa
Apa artinya ini? Warning: .htpasswd file should be placed somewhere not accessible from the webAda ide?
Adarsh ​​Khatri
4

Saya mencoba mengunduh versi stok .htaccessdan .htaccess.sampledan tambalan masih tidak berlaku bahkan setelah menggunakan versi stok.

Untuk orang lain yang mengalami masalah ini, lihat artikel ini yang menjelaskan cara menghapus .htaccessdan htaccess.samplebagian - bagian dari tambalan itu sendiri kemudian secara manual menambahkannya di: http://www.atwix.com/magento/security-patch-supee-6788 -instalasi-masalah /

MEMPERBAIKI - mengedit file tambalan dengan menghapus baris 163-195 dimulai dengan baris

diff --git .htaccess .htaccess 

dan diakhiri dengan

+    </Files>

Anda mungkin juga perlu menghapus bagian yang berkaitan dengan htaccess.sampleini dimulai

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

dan berakhir pada

+    </Files>

Setelah ini selesai, coba terapkan tambalan lagi dan seharusnya berhasil diterapkan kali ini.

Selanjutnya kita perlu menambahkan yang berikut ke akhir file kita .htaccessdan .htaccess.samplesehingga mereka up to date sesuai tambalan

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

Mengikuti langkah-langkah ini saya berhasil menerapkan tambalan, harap ini membantu!

James Collins
sumber
1
Saya telah memperbarui posting asli saya untuk memasukkan perbaikan, tolong jelaskan mengapa saya telah downvoted karena saya terjebak pada masalah ini selama berjam-jam sampai saya menemukan perbaikan yang telah saya posting dan saya berharap itu dapat membantu orang lain terjebak dengan ini.
James Collins
0

Saya memiliki masalah yang sama, itu karena saya mengunduh patch yang salah. Saya menggunakan Magento EE 1.13 dan saya telah mengunduh tambalan CE ... Saya mengunduh tambalan untuk CE 1.8 sambil mengikuti tutorial, berpikir itu akan berhasil untuk EE 1.13. Pastikan Anda mengunduh tambalan untuk versi Magento Anda.

Laila
sumber
-1
  1. Cadangkan .htaccess dan .htaccess.sample Anda
  2. Unggah file .htaccess dan .htaccess.sample asli sesuai versi Magento Anda.
  3. Jalankan tambalan.
Gaurang Patel
sumber