2012-10-10 3 views
0

파일에 직접 액세스하지 못하도록하는 htaccess가 있어야합니다. 난 이미 내 폴더를 보호 Files and FoldersHTAccess 파일 보호

:

Options -Indexes 

하지만 누군가는 여전히

www.domain.com/Folder/CSS/Styles.css 

또는

www.domain.com/Folder/Insert.php 

를 입력 할 수 있습니다 그리고 그것은 보여줄 것이다 그래서 여기 내 파일 구조입니다 그들 모두. htaccess로이 파일을 정확히 보호하려면 어떻게해야합니까? 누구도 사이트를 볼 수 없도록하고 사이트가 올바르게 실행되기를 바랍니다. 지난 번 내가

deny from all 

을 시도하고 모든 파일/폴더 완전히이 잠겨조차 자신의 웹 사이트가 일을 액세스 할 수 있었기 때문에 전체 웹 사이트를로드하지 못했습니다. 나는 사람들이 파일 경로를 URL에 입력하고보기를 원하지 않는다.

답변

2

웹 브라우저는 파일을 가져올 수 있어야하므로 원하는 것을 선택할 수 없습니다. 보호 된 디렉토리에서 다음과 같은 것을 시도 할 수 있습니다. 그냥 쉽게 이러한 요청의 출력을 볼 수 방화범, 또는 기타 개발 도구를 사용하는 천재를하지 않는 것을 알고있다 - 스푸핑 헤더도 할 매우 쉽습니다 ... 경우

SetEnvIfNoCase Referer "www.example.com" mysite 

<Limit GET POST HEAD> 
Order Deny,Allow 
Deny from all 
Allow from env=mysite 
</Limit> 

그 구문에 익숙하지 않은 경우 동일한 목적으로 mod_rewrite를 사용하여 [F]을 사용하여 금지 할 수 있습니다. (읽기 쉽도록 작성)

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} ^/Folder/?(.*)$ [NC] 
RewriteCond %{HTTP_REFERER} !^http://www\.example\.com/ [NC] 
RewriteCond %{HTTP_REFERER} !^https://www\.example\.com/ [NC] 
RewriteRule ^.*$ - [F] 
</IfModule> 

당신이 플래시/실버/자바 응용 프로그램이있는 경우에 당신이이 같은 솔루션을 적용하기 전에 적절한 리퍼러 요청 헤더를 통과 할 수 있도록해야 함을 알고하십시오.

+0

아 그래, 근데 방화범/감찰관 등을 사용하여 모든 것을 훔칠 수 있다는 것을 이해한다. 하지만 중요한 정보를 담고있는 민감한 PHP 파일과 문서를 보호하기 위해 실제로 파일 이름을 알고있는 사람은 탐색 할 수 없기를 바랍니다. 귀하의 솔루션이 그 문제를 해결하는 데 도움이 될 것이라고 생각합니다. –

+0

중요한 정보가 포함되어있는 경우이를 보호하십시오. http://httpd.apache.org/docs/current/howto/auth.html –

+0

폴더를 인증해야한다면 파일을 따라 가야합니까? 'www.domain.com/Folder'에 대한 인증을 요구할 수 있지만 인증을 요구하려면'www.domain.com/Folder/file.txt'도 필요합니다. –