Magento 2 개발 환경에서 다음과 같은 오류 메시지가 나타납니다.
웹 서버가 잘못 설정되어 중요한 파일에 무단으로 액세스 할 수 있습니다. 호스팅 제공 업체에 문의하십시오
누구든지 추적 했습니까
- 어떤 보안 점검이 진행되고 있습니까?
- 핵심 코드에서 이러한 검사는 어디서 발생합니까?
Magento\AdminNotification\Model\System\Message\Security수업 에서 나왔습니다 . 어떤 상황이이 메시지를 받았습니까?
Magento 2 개발 환경에서 다음과 같은 오류 메시지가 나타납니다.
웹 서버가 잘못 설정되어 중요한 파일에 무단으로 액세스 할 수 있습니다. 호스팅 제공 업체에 문의하십시오
누구든지 추적 했습니까
Magento\AdminNotification\Model\System\Message\Security수업 에서 나왔습니다 . 어떤 상황이이 메시지를 받았습니까?
답변:
이 검사는 누구나 app/etc/*파일에 액세스 할 수 있음을 나타 냅니다. 예를 들어 app/etc/env.php자격 증명을 DB, 암호화 키 및 기타 리소스에 저장 하는 파일입니다.
더 나은 솔루션은 대부분의 설치 문서에 지정된대로 pub기본 설치 디렉토리 대신 웹 루트로 폴더 를 구성하는 것 magento2입니다. 이렇게하면 전반적인 보안이 향상되고 문제가 해결됩니다. 다른 Apache / Nginx 위치 정의도 편집하십시오. Nginx에 들어, $MAGE_ROOT지시어는해야한다 /var/www/example.com/magento2/pub, 그래서 당신해야 root지시어. 변경 한 후에도 캐시를 비우십시오. 그렇지 않으면 이미지 및 CSS 파일이 손상됩니다 (시스템-> 도구-> 캐시 관리-> Magento 캐시 비우기).
\Magento\AdminNotification\Model\System\Message\Security이 기능을 담당합니다. _isFileAccessible방법을 참조하십시오 .
마 젠토 매장의 위험이 있습니다.
시스템 메시지이며이 메시지는 getText() class class 메소드에서 온 것 Magento\AdminNotification\Model\System\Message\Security입니다.
관리자 패널을 열면 컨트롤러가 모든 알림과 관련 보안을 확인합니다.
의 execute()메소드에서 디버그 할 수 있습니다 Magento\AdminNotification\Controller\Adminhtml\System\Message\ListAction.php.
MAGENTO 2 Centos 7 서버
"웹 서버가 잘못 설정되어 중요한 파일에 대한 무단 액세스를 허용합니다. 호스팅 제공 업체에 문의하십시오"메시지를 수정하려면
1) ### shh- 루트 계정에서 다음 명령을 실행하십시오. ###
chown -R accountuser:accountusergroup /path-to-root-folderl/
2) ### ssh-도메인 계정 사용자 (아파치와 같은 웹 서버 계정이 아님)에서 다음 명령을 실행하십시오. ###
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-루트 계정에서 다음 명령을 실행하십시오. ###
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
이 오류와 다른 많은 오류가 수정됩니다. 참고 : magento 2를 사용할 때 SUPHP를 비활성화하면 많은 두통을 피할 수 있습니다. 현재 나는 ea-apache24-mod_cgid 및 PHP 7 및 ea-php70-php-fpm으로 mod_mpm_event를 실행하고 있습니다.
PHP-FPM을 추가하기 전에 ea-apache24-mod_cgid 및 PHP 7과 함께 mod_mpm_event로 magento 2를 실행했습니다.
cpanel / apache를 실행 중이고 easyapache를 사용하여 mod_mpm_event + ea-apache24-mod_cgid로 이동하지 않으려면 ssh에서 shell을 사용할 수 있습니다. ssh에서 다음 명령을 실행하십시오. yum shell remove ea-apache24-mod_mpm_worker remove ea-apache24-mod_cgi 제거 ea-apache24-mod_mpm_event 설치 ea-apache24-mod_cgid 실행 종료
내 경우에는 default저장소보기가 비활성화 되어 문제가 발생했습니다 . 보안 검사가 수행되는 동안 Magento\AdminNotification\Model\System\Message\Security클래스는 app/etc/config.php파일 을 다운로드하려고 시도했지만 예외가 발생하여 ( Fatal error: Uncaught Magento\Framework\Exception\NoSuchEntityException: Default store is inactive) 응답 코드를 200으로 변환했습니다 (일반적으로 404). 따라서 시스템은 파일에 액세스 할 수 있다고 생각했는데 이는 보안 문제를 의미합니다.
그냥 수 있도록 default이 문제를 해결하기 위해 매장보기.
내가 생각하는 디렉토리 및 파일 권한 문제입니다. 디렉토리 0644와 파일에 0755와 같은 적절한 권한을 부여하십시오. 문제가 해결되지 않으면 .htaccess 파일도 확인하십시오.