Mon environnement de développement Magento 2 a commencé à me piquer avec le message d'erreur suivant
Votre serveur Web est mal configuré et permet un accès non autorisé aux fichiers sensibles. Veuillez contacter votre hébergeur
Quelqu'un at-il retrouvé
- Quels contrôles de sécurité ont lieu?
- Où dans le code de base ces vérifications ont-elles lieu?
Magento\AdminNotification\Model\System\Message\Security
classe. quelle situation avez-vous reçu ce message?Réponses:
Cette vérification indique que n'importe qui peut accéder aux
app/etc/*
fichiers. Par exemple, leapp/etc/env.php
fichier qui stocke les informations d'identification dans la base de données, la clé de cryptage et d'autres ressources.La meilleure solution consiste à configurer votre
pub
dossier en tant que racine Web au lieu du répertoire d'installation par défaut, généralementmagento2
, comme spécifié dans la plupart des documents d'installation. Cela améliorera la sécurité globale et résoudra votre problème. Assurez-vous également de modifier vos autres définitions d'emplacement Apache / Nginx. Pour Nginx, la$MAGE_ROOT
directive devrait être/var/www/example.com/magento2/pub
, tout comme votreroot
directive. Assurez-vous également de vider votre cache après avoir effectué la modification, sinon les images et les fichiers CSS seront cassés (Système -> Outils -> Gestion du cache -> Vider le cache Magento).\Magento\AdminNotification\Model\System\Message\Security
est responsable de cette fonctionnalité. Voir la_isFileAccessible
méthode.Cela risquerait sûrement le magasin Magento.
la source
Si vous utilisez Apache, assurez-vous que le
.htaccess
fichier inclus avec magento dans le/app/
dossier est présent sur votre serveur Web et qu'Apache est configuré pour utiliser les fichiers .htaccess pour remplacer les paramètres par dossier, mais cela doit être activé par défaut.Le contenu de ce fichier est censé être:
la source
C'est un message système et ce message provient de la
getText()
méthode, de la classeMagento\AdminNotification\Model\System\Message\Security
.Lorsque nous ouvrons le panneau d'administration, le contrôleur vérifie toutes les notifications et sa sécurité associée.
vous pouvez déboguer à partir de la
execute()
méthode dansMagento\AdminNotification\Controller\Adminhtml\System\Message\ListAction.php
.la source
Serveur MAGENTO 2 Centos 7
Pour corriger le message "Votre serveur Web est mal configuré et permet un accès non autorisé aux fichiers sensibles. Veuillez contacter votre hébergeur".
1) ### shh- Exécutez la commande suivante à partir de votre compte root. ###
2) ### ssh - Exécutez la commande suivante à partir de l'utilisateur du compte de domaine (pas votre compte de serveur Web tel qu'apache, etc.). ###
3) ### ssh - Exécutez la commande suivante à partir de votre compte root. ###
Cela corrigera cette erreur et de nombreuses autres erreurs. Remarque: désactivez SUPHP lorsque vous utilisez magento 2, vous vous épargnerez beaucoup de maux de tête. Actuellement, j'utilise mod_mpm_event avec ea-apache24-mod_cgid et PHP 7 et ea-php70-php-fpm.
J'ai fait tourner mon magento 2 avec juste mod_mpm_event avec ea-apache24-mod_cgid et PHP 7 avant d'ajouter PHP-FPM.
Si vous exécutez cpanel / apache et que vous ne voulez pas utiliser easyapache pour passer à mod_mpm_event + ea-apache24-mod_cgid, vous pouvez utiliser le shell de ssh. Exécutez la commande ci-dessous depuis ssh. yum shell supprimer ea-apache24-mod_mpm_worker supprimer ea-apache24-mod_cgi installer ea-apache24-mod_mpm_event installer ea-apache24-mod_cgid exécuter quitter
la source
Dans mon cas, le problème était dû au fait que la
default
vue du magasin était désactivée. Pendant le contrôle de sécurité, laMagento\AdminNotification\Model\System\Message\Security
classe a tenté de télécharger leapp/etc/config.php
fichier, une exception a été levée (Fatal error: Uncaught Magento\Framework\Exception\NoSuchEntityException: Default store is inactive
), qui a transformé le code de réponse en 200 (normalement, il devrait en résulter 404). Le système a donc pensé que le fichier était accessible, ce qui signifierait un problème de sécurité.Activez simplement la
default
vue du magasin pour résoudre ce problème.la source
Si vous n'utilisez pas nginx, une solution simple consiste à renommer le fichier nginx.conf en 'nginx.conf.sample' dans le répertoire racine de votre installation magento. Cela a fonctionné pour moi et le message d'avertissement disparaît dans Magento Admin.
la source
C'est un problème d'autorisation de répertoire et de fichiers, je pense. Veuillez accorder les autorisations appropriées comme 0755 aux répertoires 0644 aux fichiers, si cela ne résout pas le problème, veuillez également vérifier le fichier .htaccess.
la source
Ces tests sont présents à l'intérieur de la classe
Magento\AdminNotification\Model\System\Message\Security
et proviennent du texte de notificationfunction getText()
. Je pense que magento vérifie l'accessibilité desapp/etc/*
fichiers et, sur cette base, affiche l'avertissement dans le panneau d'administration.la source