아파치가 특정 파일을 다운로드하는 것을 방지하는 방법은 무엇입니까? (예: .py 및 .sh)
이와 같은 파일을 제공하고 다운로드하는 것을 피하고 싶습니다.
www.site.com/file.sh
www.site.com/file.py
하지만 나는 이렇게 하려고 노력한다
<Files ~ "^\.sh">
Order deny,allow
deny from all
</Files>
<Files ~ "^\.py">
Order deny,allow
deny from all
</Files>
이
<FilesMatch "\.(sh|py)$">
Order deny,allow
deny from all
</FilesMatch>
아무것도 작동하지 않는 것 같습니다. 파일을 넣어 보았습니다.
/etc/apache2/apache2.conf
반품
/etc/apache2/sites-available/default
아무것도 작동하지 않습니다.Apache에서는 여전히 파일을 다운로드할 수 있습니다..
답변1
파일 일치 용어가 잘못된 것 같습니다.
<Files ~ "^\.py">
이름이 다음과 같은 파일과 일치합니다.시작문자로 .py
. 당신은 원할 것이다
<Files ~ "\.py$">
대신에.
하지만 FilesMatch
정규식이 올바른 것 같습니다. 그렇다면 문제는 다른 곳에 있을 수도 있습니다. 아마도 Apache가 새로운 스타일의 액세스 제어 지시문만 사용하고 있을까요?
오래된 것을 교체해 보세요
Order deny,allow
deny from all
새로운 스타일과 동일:
Require all denied