.htaccess에서 .ini 파일에 대한 액세스를 거부하는 것이 안전합니까?
문제
PHP WAB 앱에 민감한 정보가있는 .ini 파일이 있습니다. .htaccess 파일을 사용하여 액세스를 거부했습니다.
<files my.ini>
order deny,allow
deny from all
</files>
HTDocs 외부의 폴더에 액세스 할 수 없으므로 .ini 파일을 눈썹 가능한 영역에서 옮길 수 없습니다.
내 솔루션은 안전합니까?
해결책
.htaccess는 웹에서 액세스를 차단합니다. 그러나 공유 호스팅 환경을 사용하는 경우 다른 사용자가 INI에 액세스 할 수 있습니다. (가상 개인) 서버에 있고 해당 서버의 유일한 사용자 인 경우 안전합니다.
공유 호스팅의 경우 서버 구성에 따라 다릅니다. 자세한 내용은 읽기 : 공유 호스팅 환경의 PHP 보안
일시적으로 설치할 수 있습니다 phpshell 서버 파일 시스템을 탐색하여 서버가 취약한 지 확인하십시오. (일부 명령 라인 지식이 필요합니다)
다른 팁
또 다른 좋은 솔루션과 개인적으로 가장 좋아하는 (특히 엄격한 .htaccess 컨트롤 아래에 남아 있지 않은 코드를 개발할 때)는 실제 .ini 파일을 보호하는 것입니다. 친절한 영혼 덕분에 여기 - 사용자 노트 : 냉동 비트의 PD DOT DE, 내가하는 일은 :
my.ini -> changes to my.ini.php
my.ini.php가 시작됩니다.
;<?php
;die(); // For further security
;/*
[category]
name="value"
;*/
완벽하게 작동합니다! 파일에 직접 액세스하십시오. 그리고 유효하고 파싱 가능한 .ini 파일입니다. 좋아하지 않는 것 :)
실제 구현에 대한 몇 가지 메모 (이것이 "오버 셔링"으로 간주되면 사과하지만 누군가를 어느 정도 절약 할 수 있습니다) :
- 이 파일은 내 IDE를 매우 화나게 만들고 자동 세포 외에도 계속 노력하여 PHP를 화나게합니다. 축복은 메모장 ++에 있습니다.
- 폐쇄를 잊지 마십시오
;*/
. 당신이 그것을 남겨두면 여전히 작동하지만 PHP는 화가 나기 위해 경고합니다.
정렬.
파일은 Apache에서 표시되지 않습니다. 분명히 가장 좋은 방법은 사이트의 루트 외부에 놓는 것입니다. 그렇게 할 수 없다면 .htaccess 파일 (또는 Apache 구성의 유사한 지시문)이 유일한 옵션입니다.