Mi entorno de desarrollo de Magento 2 comenzó a molestarme con el siguiente mensaje de error
Su servidor web está configurado incorrectamente y permite el acceso no autorizado a archivos confidenciales. Por favor contacte a su proveedor de hosting
¿Alguien ha rastreado
- ¿Qué controles de seguridad están sucediendo?
- ¿En qué parte del código central ocurren estas comprobaciones?

Magento\AdminNotification\Model\System\Message\Securityclase. ¿En qué situación recibiste este mensaje?Respuestas:
Esta verificación dice que cualquiera puede acceder a los
app/etc/*archivos. Por ejemplo elapp/etc/env.phparchivo que almacena credenciales en DB, clave de cifrado y otros recursos.La mejor solución es configurar su
pubcarpeta como la raíz web en lugar del directorio de instalación predeterminado, generalmentemagento2, como se especifica en la mayoría de los documentos de instalación. Esto mejorará la seguridad general y solucionará su problema. Asegúrese de editar también sus otras definiciones de ubicación de Apache / Nginx. Para Nginx, la$MAGE_ROOTdirectiva debería ser/var/www/example.com/magento2/pub, y también turootdirectiva. Asegúrese de vaciar su caché después de realizar el cambio, de lo contrario, las imágenes y los archivos CSS se romperán (Sistema -> Herramientas -> Administración de caché -> Vaciar caché de Magento).\Magento\AdminNotification\Model\System\Message\Securityes responsable de esta funcionalidad. Ver el_isFileAccessiblemétodoSeguramente arriesgará la tienda Magento.
fuente
Si está usando Apache, asegúrese de que el
.htaccessarchivo que se incluye con magento en la/app/carpeta esté presente en su servidor web, y que Apache esté configurado para usar archivos .htaccess para anular la configuración por carpeta, pero esto debería estar habilitado de manera predeterminada.Se supone que el contenido de este archivo es:
fuente
Es un mensaje del sistema y este mensaje proviene del
getText()método, la claseMagento\AdminNotification\Model\System\Message\Security.Cuando abrimos el panel de administración, el controlador verifica todas las notificaciones y su seguridad relacionada.
puedes depurar del
execute()método enMagento\AdminNotification\Controller\Adminhtml\System\Message\ListAction.php.fuente
Servidor MAGENTO 2 Centos 7
Para corregir el mensaje "Su servidor web está configurado incorrectamente y permite el acceso no autorizado a archivos confidenciales. Póngase en contacto con su proveedor de alojamiento".
1) ### shh- Ejecute el siguiente comando desde su cuenta raíz. ###
2) ### ssh: ejecute el siguiente comando desde el usuario de la cuenta de dominio (no desde la cuenta de su servidor web, como apache, etc.). ###
3) ### ssh - Ejecute el siguiente comando desde su cuenta raíz. ###
Esto solucionará este error y muchos otros errores. Nota: deshabilite SUPHP cuando use magento 2, se ahorrará mucho dolor de cabeza. Actualmente estoy ejecutando mod_mpm_event con ea-apache24-mod_cgid y PHP 7 y ea-php70-php-fpm.
Tenía mi magento 2 ejecutándose con solo mod_mpm_event con ea-apache24-mod_cgid y PHP 7 antes de agregar PHP-FPM.
Si está ejecutando cpanel / apache y no desea usar easyapache para moverse a mod_mpm_event + ea-apache24-mod_cgid, puede usar shell desde ssh. Ejecute el comando debajo de ssh. yum shell eliminar ea-apache24-mod_mpm_worker eliminar ea-apache24-mod_cgi instalar ea-apache24-mod_mpm_event instalar ea-apache24-mod_cgid ejecutar salir
fuente
En mi caso, el problema fue causado por el hecho de que la
defaultvista de la tienda estaba deshabilitada. Mientras se realizaba la comprobación de seguridad, laMagento\AdminNotification\Model\System\Message\Securityclase intentó descargar elapp/etc/config.phparchivo, se produjo una excepción (Fatal error: Uncaught Magento\Framework\Exception\NoSuchEntityException: Default store is inactive), que transformó el código de respuesta a 200 (normalmente debería dar como resultado 404). Entonces, el sistema pensó que el archivo es accesible, lo que significaría un problema de seguridad.Simplemente habilite la
defaultvista de la tienda para solucionar esto.fuente
Una solución fácil es, si no está usando nginx, cambiar el nombre del archivo nginx.conf a 'nginx.conf.sample' en el directorio raíz de su instalación de magento. Esto funcionó para mí, y el mensaje de advertencia desaparece en Magento Admin.
fuente
Es un problema de directorio y permisos de archivos, creo. Otorgue los permisos adecuados, como 0755, a los directorios 0644 a los archivos; si no resuelve el problema, verifique también el archivo .htaccess.
fuente
Estas pruebas están presentes dentro de la clase
Magento\AdminNotification\Model\System\Message\Securityy ese texto de notificación provienefunction getText(). Creo que magento comprueba la accesibilidad de losapp/etc/*archivos y, en función de eso, muestra la advertencia en el panel de administración.fuente