Lingkungan pengembangan Magento 2 saya mulai menyodok saya dengan pesan kesalahan berikut
Server web Anda disetel secara tidak benar dan memungkinkan akses tidak sah ke file sensitif. Silakan hubungi penyedia hosting Anda
Adakah yang terlacak
- Pemeriksaan keamanan apa yang terjadi?
- Di mana dalam kode inti cek ini terjadi?
Magento\AdminNotification\Model\System\Message\Security
kelas. situasi mana Anda mendapat pesan ini?Jawaban:
Pemeriksaan ini mengatakan bahwa siapa pun dapat mengakses
app/etc/*
file. Misalnyaapp/etc/env.php
file yang menyimpan kredensial ke DB, kunci crypt, dan sumber daya lainnya.Solusi yang lebih baik adalah mengonfigurasi
pub
folder Anda sebagai root web alih-alih direktori instalasi default, biasanyamagento2
, sebagaimana ditentukan di sebagian besar instal dokumen. Ini akan meningkatkan keamanan secara keseluruhan dan memperbaiki masalah Anda. Pastikan untuk mengedit definisi lokasi Apache / Nginx Anda yang lain juga. Untuk Nginx,$MAGE_ROOT
arahan harus/var/www/example.com/magento2/pub
, dan demikian jugaroot
arahan Anda . Pastikan untuk membersihkan cache Anda setelah melakukan perubahan juga, jika tidak gambar dan file css akan rusak (System -> Tools -> Cache Management -> Flush Magento Cache).\Magento\AdminNotification\Model\System\Message\Security
bertanggung jawab atas fungsi ini. Lihat_isFileAccessible
metodenya.Pasti akan mengambil risiko toko Magento.
sumber
Jika Anda menggunakan Apache, pastikan bahwa
.htaccess
file yang disertakan dengan magento di/app/
folder ada di server web Anda, dan bahwa Apache dikonfigurasi untuk menggunakan file .htaccess untuk mengganti pengaturan per folder, tetapi ini harus diaktifkan secara default.Konten file ini seharusnya:
sumber
Ini adalah pesan sistem dan pesan ini berasal dari
getText()
metode, kelasMagento\AdminNotification\Model\System\Message\Security
.Ketika kami membuka panel Admin controller memeriksa semua notifikasi dan itu terkait keamanan.
Anda dapat men-debug dari
execute()
metode diMagento\AdminNotification\Controller\Adminhtml\System\Message\ListAction.php
.sumber
Server MAGENTO 2 Centos 7
Untuk memperbaiki pesan "Server web Anda diatur dengan tidak benar dan memungkinkan akses tidak sah ke file sensitif. Silakan hubungi penyedia hosting Anda".
1) ### shh- Jalankan perintah berikut dari akun root Anda. ###
2) ### ssh - Jalankan perintah berikut dari pengguna akun domain (bukan akun server web Anda seperti apache dll). ###
3) ### ssh - Jalankan perintah berikut dari akun root Anda. ###
Ini akan memperbaiki kesalahan ini dan banyak kesalahan lainnya. Catatan: menonaktifkan SUPHP saat menggunakan magento 2, Anda akan menghemat banyak sakit kepala. Saat ini saya sedang menjalankan mod_mpm_event dengan ea-apache24-mod_cgid dan PHP 7 dan ea-php70-php-fpm.
Saya menjalankan 2 magento saya hanya dengan mod_mpm_event dengan ea-apache24-mod_cgid dan PHP 7 sebelum saya menambahkan PHP-FPM.
Jika Anda menjalankan cpanel / apache dan Anda tidak ingin menggunakan easyapache untuk pindah ke mod_mpm_event + ea-apache24-mod_cgid Anda dapat menggunakan shell dari ssh. Jalankan perintah di bawah dari ssh. yum shell hapus ea-apache24-mod_mpm_worker hapus ea-apache24-mod_cgi instal ea-apache24-mod_mpm_event install ea-apache24-mod_cgid jalankan berhenti
sumber
Dalam kasus saya masalahnya disebabkan oleh kenyataan bahwa tampilan
default
toko dinonaktifkan. Ketika pemeriksaan keamanan dilakukan,Magento\AdminNotification\Model\System\Message\Security
kelas mencoba mengunduhapp/etc/config.php
file, sebuah pengecualian dilempar (Fatal error: Uncaught Magento\Framework\Exception\NoSuchEntityException: Default store is inactive
), yang mengubah kode respons menjadi 200 (biasanya menghasilkan 404). Jadi sistem berpikir bahwa file tersebut dapat diakses, yang berarti masalah keamanan.Cukup aktifkan tampilan
default
toko untuk memperbaikinya.sumber
Salah satu solusi mudah adalah, jika Anda tidak menggunakan nginx, daripada mengganti nama file nginx.conf menjadi 'nginx.conf.sample' di direktori root dari instalasi magento Anda. Ini berhasil untuk saya, dan pesan peringatan hilang di Magento Admin.
sumber
Ini masalah direktori dan file izin saya pikir. Tolong beri izin yang tepat seperti 0755 ke direktori 0644 ke file, jika itu tidak menyelesaikan masalah, periksa juga file .htaccess.
sumber
Tes-tes ini hadir di dalam kelas
Magento\AdminNotification\Model\System\Message\Security
dan dari mana teks pemberitahuan berasalfunction getText()
. Saya pikir Magento memeriksa aksesibilitasapp/etc/*
file dan berdasarkan yang menunjukkan peringatan di panel admin.sumber