내 웹사이트에는 사용자가 업로드한 파일을 저장하는 디렉토리가 있습니다. 나는 업로드된 파일 유형에 대해 화이트리스트를 사용하고 해시된 이름을 사용하여 파일을 저장하지만, 내가 읽은 또 다른 좋은 보안 예방 조치는 디렉토리에서 스크립트 실행을 중지하는 것입니다. 또한 사용자가 자신에게 속하지 않은 파일을 다운로드하는 것을 원하지 않기 때문에 디렉터리의 파일에 직접 액세스하는 것을 방지하고 싶습니다.
내 서버는 Linux와 Apache를 실행합니다. 다음 .htaccess 파일이 내가 달성하려는 목표에 적합합니까?
order deny,allow
deny from all
<FilesMatch .php>
SetHandler None
</FilesMatch>
답변1
당신은 다음과 같은 것을 찾고 있습니다 :
<Directory /path/to/dir>
Order allow, deny
Deny from all
php_admin_flag engine off
</Directory>
처음 두 가지 지침( Order
그리고 Deny
)(또는2.2또는2.4)는 누구든지 Apache를 통해 이 디렉터리에 액세스하는 것을 방지해야 합니다(403 오류가 발생함). php_admin_flag
을 고려하여 mod_php를 끄십시오 Deny from all
.
또 다른 더 나은 접근 방식은 웹 루트에 디렉터리가 전혀 존재하지 않도록 하는 것입니다.