Meine Magento 2-Entwicklungsumgebung hat mich mit der folgenden Fehlermeldung angestachelt
Ihr Webserver ist nicht ordnungsgemäß eingerichtet und ermöglicht den unbefugten Zugriff auf vertrauliche Dateien. Bitte wenden Sie sich an Ihren Hosting-Provider
Hat jemand aufgespürt
- Welche Sicherheitsüberprüfungen finden statt?
- Wo im Kerncode finden diese Überprüfungen statt?
Magento\AdminNotification\Model\System\Message\Security
Klasse. In welcher Situation haben Sie diese Nachricht erhalten?Antworten:
Diese Prüfung besagt, dass jeder auf
app/etc/*
Dateien zugreifen kann . Zum Beispiel dieapp/etc/env.php
Datei, in der Anmeldeinformationen für die Datenbank, den Kryptoschlüssel und andere Ressourcen gespeichert sind.Die bessere Lösung besteht darin, Ihren
pub
Ordner als Webstamm anstatt des Standardinstallationsverzeichnisses zu konfigurierenmagento2
, wie in den meisten Installationsdokumenten angegeben. Dies verbessert die allgemeine Sicherheit und behebt Ihr Problem. Stellen Sie sicher, dass Sie auch Ihre anderen Apache / Nginx-Standortdefinitionen bearbeiten. Für Nginx$MAGE_ROOT
sollte dies die Direktive sein/var/www/example.com/magento2/pub
, ebenso wie Ihreroot
Direktive. Stellen Sie sicher, dass Sie Ihren Cache leeren, nachdem Sie die Änderung vorgenommen haben, da sonst Bilder und CSS-Dateien beschädigt werden (System -> Tools -> Cache-Verwaltung -> Magento-Cache leeren).\Magento\AdminNotification\Model\System\Message\Security
ist verantwortlich für diese Funktionalität. Siehe die_isFileAccessible
Methode.Es wird sicher Magento Store riskieren.
quelle
Wenn Sie Apache verwenden, stellen Sie sicher, dass die
.htaccess
Datei, die in magento im/app/
Ordner enthalten ist, auf Ihrem Webserver vorhanden ist und dass Apache so konfiguriert ist, dass .htaccess-Dateien zum Überschreiben der Einstellungen pro Ordner verwendet werden. Dies sollte jedoch standardmäßig aktiviert sein.Der Inhalt dieser Datei soll sein:
quelle
Es handelt sich um eine Systemnachricht, die von der
getText()
Methode class stammtMagento\AdminNotification\Model\System\Message\Security
.Wenn wir den Admin-Bereich öffnen, überprüft der Controller alle Benachrichtigungen und die damit verbundene Sicherheit.
Sie können von der
execute()
Methode in debuggenMagento\AdminNotification\Controller\Adminhtml\System\Message\ListAction.php
.quelle
MAGENTO 2 Centos 7 Server
So beheben Sie die Meldung "Ihr Webserver ist nicht ordnungsgemäß eingerichtet und ermöglicht den unbefugten Zugriff auf vertrauliche Dateien. Wenden Sie sich an Ihren Hosting-Anbieter."
1) ### shh- Führen Sie den folgenden Befehl von Ihrem Root-Konto aus. ###
2) ### ssh - Führen Sie den folgenden Befehl vom Benutzer des Domänenkontos aus (nicht von Ihrem Webserverkonto wie Apache usw.). ###
3) ### ssh - Führen Sie den folgenden Befehl von Ihrem Root-Konto aus. ###
Dies wird diesen Fehler und viele andere Fehler beheben. Hinweis: Wenn Sie SUPHP in Magento 2 deaktivieren, sparen Sie sich viel Kopfschmerzen. Zur Zeit starte ich mod_mpm_event mit ea-apache24-mod_cgid und PHP 7 und ea-php70-php-fpm.
Ich hatte mein Magento 2 mit nur mod_mpm_event mit ea-apache24-mod_cgid und PHP 7, bevor ich PHP-FPM hinzufügte.
Wenn Sie cpanel / apache ausführen und easyapache nicht verwenden möchten, um nach mod_mpm_event + ea-apache24-mod_cgid zu wechseln, können Sie die Shell von ssh verwenden. Führen Sie den folgenden Befehl von ssh aus. yum shell entfernen ea-apache24-mod_mpm_worker entfernen ea-apache24-mod_cgi installieren ea-apache24-mod_mpm_event installieren ea-apache24-mod_cgid ausführen beenden
quelle
In meinem Fall wurde das Problem durch die Tatsache verursacht, dass die
default
Geschäftsansicht deaktiviert war. Während die Sicherheitsüberprüfung durchgeführt wurde, hat dieMagento\AdminNotification\Model\System\Message\Security
Klasse versucht, dieapp/etc/config.php
Datei herunterzuladen , und es wurde eine Ausnahme ausgelöst (Fatal error: Uncaught Magento\Framework\Exception\NoSuchEntityException: Default store is inactive
), die den Antwortcode in 200 umwandelte (normalerweise sollte das Ergebnis 404 sein). Das System ging daher davon aus, dass auf die Datei zugegriffen werden kann, was ein Sicherheitsproblem bedeuten würde.Aktivieren Sie einfach die
default
Geschäftsansicht, um dies zu beheben.quelle
Eine einfache Lösung ist, wenn Sie nicht nginx verwenden, die Datei nginx.conf in 'nginx.conf.sample' im Stammverzeichnis Ihrer Magento-Installation umzubenennen. Dies hat bei mir funktioniert und die Warnmeldung verschwindet in Magento Admin.
quelle
Ich denke, es ist ein Problem mit der Berechtigung für Verzeichnisse und Dateien. Bitte geben Sie die richtigen Berechtigungen wie 0755 für Verzeichnisse 0644 für Dateien. Wenn das Problem dadurch nicht behoben wird, überprüfen Sie bitte auch die .htaccess-Datei.
quelle
Diese Tests sind in der Klasse vorhanden
Magento\AdminNotification\Model\System\Message\Security
und der Benachrichtigungstext stammt vonfunction getText()
. Ich denke, Magento prüft die Zugänglichkeit vonapp/etc/*
Dateien und zeigt darauf basierend die Warnung im Admin-Panel an.quelle