Magento 2: “Web sunucunuz yanlış ayarlanmış ve hassas dosyalara yetkisiz erişime izin veriyor. Lütfen barındırma sağlayıcınızla iletişim kurun ”


18

Magento 2 geliştirme ortamım bana aşağıdaki hata iletisiyle alay etmeye başladı

Web sunucunuz yanlış ayarlanmış ve hassas dosyalara yetkisiz erişime izin veriyor. Lütfen barındırma sağlayıcınızla iletişim kurun

İzlenen var mı

  1. Hangi güvenlik kontrolleri yapılıyor?
  2. Çekirdek kodda bu kontroller nerede yapılır?

lütfen bana hangi 2 sürümünü kullandığını söyleyebilir misin
Amit Bera

@AmitBera Bireysel paketler besteci havuzları olduğundan, bunu nasıl kontrol edeceğimden tam olarak emin değilim
Alan Storm

1
@AlanStorm, bu mesaj Magento\AdminNotification\Model\System\Message\Securitysınıftan geldi . bu mesajı hangi durumda buldunuz?
Bojjaiah

@magentotwo Arka uca giriş yaptığımda
Alan Storm

Yanıtlar:


12

Bu kontrol, herkesin app/etc/*dosyalara erişebileceğini söylüyor . Örneğin, app/etc/env.phpkimlik bilgilerini DB, crypt anahtarı ve diğer kaynaklara depolayan dosya.

En iyi çözüm, pubklasörünüzü genellikle magento2çoğu yükleme belgesinde belirtildiği gibi varsayılan kurulum dizini yerine web kökü olarak yapılandırmaktır . Bu, genel güvenliği artıracak ve sorunu çözecektir. Diğer Apache / Nginx konum tanımlarınızı da düzenlediğinizden emin olun. Nginx için $MAGE_ROOTdirektif olmalı /var/www/example.com/magento2/pubve böylece gerektiği rootyönergesi. Değişikliği yaptıktan sonra önbelleğinizi de temizlediğinizden emin olun, aksi takdirde görüntüler ve css dosyaları bozulur (Sistem -> Araçlar -> Önbellek Yönetimi -> Macenta Önbelleği Temizle).

\Magento\AdminNotification\Model\System\Message\Securitybu işlevsellikten sorumludur. _isFileAccessibleYönteme bakınız .

Kesinlikle Magento mağazasını riske atacaktır.


3

Apache kullanıyorsanız .htaccess, /app/klasörde magento bulunan dosyanın web sunucunuzda bulunduğundan ve Apache'nin klasör başına ayarları geçersiz kılmak için .htaccess dosyalarını kullanacak şekilde yapılandırıldığından emin olun, ancak bu varsayılan olarak etkinleştirilmelidir.

Bu dosyanın içeriğinin şu olması gerekir:

<IfVersion < 2.4>
    order allow,deny
    deny from all
</IfVersion>
<IfVersion >= 2.4>
    Require all denied
</IfVersion>

1

Bu bir sistem mesajı ve bu mesaj getText() yöntem, sınıftan gelmiştir Magento\AdminNotification\Model\System\Message\Security.

Yönetici panelini açtığımızda, denetleyici tüm bildirimleri ve ilgili güvenliği kontrol eder.

execute()içindeki yöntemden hata ayıklayabilirsiniz Magento\AdminNotification\Controller\Adminhtml\System\Message\ListAction.php.


Yararlı bilgi, ama istediğim değil. Magento'daki bazı kodlar bazı sistem testlerini açıkça gerçekleştirdi ve bu mesajı ekledi. Bu sistem testlerinin nerede olduğunu bilmek istiyorum.
Alan Storm

1

MAGENTO 2 Centos 7 Sunucusu

"Web sunucunuz yanlış ayarlanmış ve hassas dosyalara yetkisiz erişime izin veriyor. Lütfen barındırma sağlayıcınızla görüşün" mesajını düzeltmek için.

1) ### shh- Kök hesabınızdan aşağıdaki komutu çalıştırın. ###

chown -R accountuser:accountusergroup /path-to-root-folderl/

2) ### ssh - Etki alanı hesabı kullanıcısından (apache vb. Web sunucusu hesabınızı değil) aşağıdaki komutu çalıştırın. ###

find . -type d -exec chmod 770 {} \; & find . -type f -exec chmod 660 {} \; && chmod u+x bin/magento

chmod -R g+w /path-to-root-folderl/{pub,var} chmod -R g+w /path-to-root-folderl/{app/etc,vendor} chmod -R g+s pub/static pub/media . find var/generation -type d -exec chmod g+s {} \; find var/session -type d -exec chmod g+s {} \;

3) ### ssh - Kök hesabınızdan aşağıdaki komutu çalıştırın. ###

chown -R domain_account_user:webservergroup /path-to-root-folderl/var chown -R domain_account_user:webservergroup /path-to-root-folder/app/etc chown -R domain_account_user:webservergroup /path-to-root-folderl/pub chown -R webserverUSER:webservergroup /path-to-root-folder/var/session

Bu, bu hatayı ve diğer birçok hatayı düzeltir. Not: magento 2 kullanırken SUPHP'yi devre dışı bırakın, kendinizi çok fazla baş ağrısından kurtarırsınız. Şu anda mod_mpm_event'i ea-apache24-mod_cgid ve PHP 7 ve ea-php70-php-fpm ile çalıştırıyorum.

Ben PHP-FPM eklemeden önce benim magento 2 ea-apache24-mod_cgid ve PHP 7 ile sadece mod_mpm_event ile çalışan vardı.

Cpanel / apache çalıştırıyorsanız ve mod_mpm_event + ea-apache24-mod_cgid'e geçmek için easyapache kullanmak istemiyorsanız, ssh'tan shell kullanabilirsiniz. Aşağıdaki komutu ssh'den çalıştırın. yum kabuk kaldır ea-apache24-mod_mpm_worker kaldır ea-apache24-mod_cgi install ea-apache24-mod_mpm_event install ea-apache24-mod_cgid çalışma çık


Bu sadece bazı barındırma ortamlarında işe yarayacak .. diğerleri üzerinde gerçekten kötü bir fikir olabilir
Andy

1

Benim durumumda sorun, defaultmağaza görünümünün devre dışı bırakılmasından kaynaklandı. Güvenlik kontrolü yapılırken Magento\AdminNotification\Model\System\Message\Securitysınıf app/etc/config.phpdosyayı indirmeye çalıştı Fatal error: Uncaught Magento\Framework\Exception\NoSuchEntityException: Default store is inactive, yanıt kodunu 200'e dönüştüren bir istisna atıldı ( ) (normalde 404 ile sonuçlanmalıdır). Böylece sistem dosyanın erişilebilir olduğunu düşündü, bu bir güvenlik sorunu anlamına gelir.

Sadece default düzeltmek mağaza görünümünü yeterlidir.


1

Kolay bir çözüm, nginx kullanmıyorsanız, nginx.conf dosyasını magento kurulumunuzun kök dizinindeki 'nginx.conf.sample' olarak yeniden adlandırmaktan daha kolaydır. Bu benim için çalıştı ve Magento Admin'de uyarı mesajı yok oldu.


0

Sanırım bir dizin ve dosya izni sorunu. Lütfen dosyalara 0645 dizinlerine 0755 gibi uygun izinler verin, sorunu çözmezse lütfen .htaccess dosyasını da kontrol edin.


yararlı bilgiler, ancak istediğim bilgiler değil. Magento çekirdek kod tabanında bu denetimlerin nerede olduğunu bilmek istiyorum.
Alan Storm

0

Bu testler sınıf içinde mevcuttur Magento\AdminNotification\Model\System\Message\Securityve bu bildirim metni gelir function getText(). Ben magento app/etc/*dosya erişilebilirliğini kontrol eder ve bu yönetici panelinde uyarı gösterir dayalı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.