Meu ambiente de desenvolvimento Magento 2 começou a me cutucar com a seguinte mensagem de erro
Seu servidor da Web está configurado incorretamente e permite acesso não autorizado a arquivos confidenciais. Entre em contato com seu provedor de hospedagem
Alguém localizou
- Quais verificações de segurança estão acontecendo?
- Onde no código principal essas verificações ocorrem?
Magento\AdminNotification\Model\System\Message\Security
classe. qual situação você recebeu esta mensagem?Respostas:
Essa verificação diz que qualquer pessoa pode acessar os
app/etc/*
arquivos. Por exemplo, oapp/etc/env.php
arquivo que armazena credenciais no banco de dados, chave de criptografia e outros recursos.A melhor solução é configurar sua
pub
pasta como raiz da Web em vez do diretório de instalação padrão, geralmentemagento2
, conforme especificado na maioria dos documentos de instalação. Isso melhorará a segurança geral e solucionará o problema. Certifique-se de editar suas outras definições de localização do Apache / Nginx também. Para o Nginx, a$MAGE_ROOT
diretiva deve ser/var/www/example.com/magento2/pub
, assim como a suaroot
diretiva. Certifique-se de liberar seu cache depois de fazer a alteração também, caso contrário, imagens e arquivos css serão quebrados (Sistema -> Ferramentas -> Gerenciamento de cache -> Flush Magento Cache).\Magento\AdminNotification\Model\System\Message\Security
é responsável por essa funcionalidade. Veja o_isFileAccessible
métodoCertamente arriscará a loja Magento.
fonte
Se você estiver usando o Apache, verifique se o
.htaccess
arquivo que está incluído no magento na/app/
pasta está presente no servidor da Web e se o Apache está configurado para usar arquivos .htaccess para substituir as configurações por pasta, mas isso deve estar ativado por padrão.O conteúdo deste arquivo deve ser:
fonte
É uma mensagem do sistema e essa mensagem veio do
getText()
método, classeMagento\AdminNotification\Model\System\Message\Security
.Quando abrimos o painel do administrador, o controlador verifica todas as notificações e a segurança relacionada.
você pode depurar do
execute()
método inMagento\AdminNotification\Controller\Adminhtml\System\Message\ListAction.php
.fonte
Servidor MAGENTO 2 Centos 7
Para corrigir a mensagem "Seu servidor da Web está configurado incorretamente e permite acesso não autorizado a arquivos confidenciais. Entre em contato com o seu provedor de hospedagem".
1) ### shh- Execute o seguinte comando da sua conta root. ###
2) ### ssh - Execute o seguinte comando no usuário da conta de domínio (não na sua conta de servidor da web, como apache etc.). ###
3) ### ssh - Execute o seguinte comando na sua conta root. ###
Isso corrigirá esse erro e muitos outros erros. Nota: ao desabilitar o SUPHP ao usar o magento 2, você economizará muita dor de cabeça. Atualmente, estou executando o mod_mpm_event com o ea-apache24-mod_cgid e o PHP 7 e o ea-php70-php-fpm.
Eu tinha meu magento 2 rodando apenas com mod_mpm_event com ea-apache24-mod_cgid e PHP 7 antes de adicionar o PHP-FPM.
Se você estiver executando o cpanel / apache e não quiser usar o easyapache para ir para mod_mpm_event + ea-apache24-mod_cgid, use o shell do ssh. Execute o comando abaixo do ssh. yum shell remover ea-apache24-mod_mpm_worker remover ea-apache24-mod_cgi instalar ea-apache24-mod_mpm_event instalar e-apache24-mod_cgid
fonte
No meu caso, o problema foi causado pelo fato de a
default
visualização da loja estar desativada. Enquanto a verificação de segurança foi feita, aMagento\AdminNotification\Model\System\Message\Security
classe tentou fazer o download doapp/etc/config.php
arquivo, uma exceção foi lançada (Fatal error: Uncaught Magento\Framework\Exception\NoSuchEntityException: Default store is inactive
), que transformou o código de resposta em 200 (normalmente deve resultar em 404). Portanto, o sistema achou que o arquivo estava acessível, o que significaria um problema de segurança.Basta ativar a
default
visualização da loja para corrigir isso.fonte
Uma solução fácil é, se você não estiver usando o nginx, renomeie o arquivo nginx.conf para 'nginx.conf.sample' no diretório raiz da instalação do magento. Isso funcionou para mim e a mensagem de aviso desaparece no Magento Admin.
fonte
É um problema de permissão de diretório e arquivos, eu acho. Por favor, forneça permissões apropriadas como 0755 para os diretórios 0644 para arquivos, se isso não resolver o problema, verifique também o arquivo .htaccess.
fonte
Esses testes estão presentes dentro da classe
Magento\AdminNotification\Model\System\Message\Security
e é originário do texto da notificaçãofunction getText()
. Eu acho que o magento verifica a acessibilidade dosapp/etc/*
arquivos e, com base nisso, mostra o aviso no painel de administração.fonte