Programing

.htaccess에서 하나의 특정 폴더에 대한 액세스 거부

crosscheck 2020. 7. 30. 09:53
반응형

.htaccess에서 하나의 특정 폴더에 대한 액세스 거부


site/includesURL을 조작하여 사용자가 폴더에 액세스하는 것을 거부하려고합니다 .

이 폴더 하나만 거부하거나 사용할 수있는 다시 쓰기 기능이있는 경우 모든 것을 거부하고 수동으로 개별 예외를 허용 해야하는지 모르겠습니다.

구체적인 예 : localhost/site/includesURL 을 입력하여 디렉토리 파일을보고 싶지 않습니다 .


site/includes/.htaccess파일을 작성 하고 다음 행을 추가하십시오.

Deny from all

다음을 사용하여 폴더에 대한 액세스를 거부 할 수도 있습니다 RedirectMatch

htaccess에 다음 줄을 추가하십시오

RedirectMatch 403 ^/folder/?$

이것은 403 forbidden폴더에 대한 오류를 반환 합니다. 즉 : http://example.com/folder/폴더 내의 모든 파일을 차단하려면 폴더 안의 모든 파일을 차단하려는 경우 정규식 패턴을로 변경하십시오 ^/folder/.*$.

또 다른 옵션은 활성화 되어 mod-rewrite있으면 url-rewrting-module다음과 같은 것을 사용할 수 있습니다 root/.htaccss.

RewriteEngine on

RewriteRule ^folder/?$ - [F,L]

내부적으로 folderto to forbiddenpage 요청을 매핑합니다 .


에서 .htaccess파일 당신은 사용할 필요가

Deny from  all

이것을 디렉토리에 site/includes/.htaccess맞게 만들기includes

디렉토리 파일 목록을 허용하지 않으려면 사용할 수 있습니다

Options -Indexes 

모든 파일 형식에 대한 액세스를 거부하면서 디렉터리를 매우 안전하게 설정합니다. 아래는 .htaccess 파일에 삽입하려는 코드입니다.

Order Allow,Deny 
Deny from all 

이제 보안을 설정 했으므로 원하는 파일 형식에 대한 액세스를 허용하려고합니다. 이렇게하려면 방금 삽입 한 보안 코드 아래의 .htaccess 파일에 아래 코드를 추가하십시오.

<FilesMatch "\.(jpg|gif|png|php)$">
Order Deny,Allow
   Allow from all
</FilesMatch>

최종 .htaccess파일은 다음과 같습니다

Order Allow,Deny 
Deny from all 

<FilesMatch "\.(jpg|gif|png|php)$">
Order Deny,Allow
   Allow from all
</FilesMatch>

보호 된 디렉토리의 특정 파일 유형에 대한 액세스 허용 소스


폴더에 대한 .htaccess 파일을 만들 수 있습니다.

Deny from  all

또는 맞춤 404 페이지로 리디렉션 할 수 있습니다

Redirect /includes/ 404.html

이것을 IndexIgnore *루트 .htaccess 파일에 두어 하위 디렉토리를 포함한 모든 웹 사이트 디렉토리의 파일 목록을 비활성화 할 수 있습니다


.htaccess를 제한하려는 폴더에 넣으십시오.

## no access to this folder

# Apache 2.4
<IfModule mod_authz_core.c>
    Require all denied
</IfModule>

# Apache 2.2
<IfModule !mod_authz_core.c>
    Order Allow,Deny
    Deny from all
</IfModule>

출처 : MantisBT 출처.


index.php, index.html, index.htm을 만드는 것은 안전하지 않습니다. 왜냐하면 누구나 파일 이름을 추측하여 지정된 디렉토리 내의 파일에 액세스 할 수 있기 때문입니다. 예 : http://yoursite.com/includes/file.dat 따라서 모든 방문자를 거부하기 위해 .htaccess 파일을 만드는 것이 좋습니다. 즐기세요 !!


이런 식으로 동적으로 수행 할 수 있습니다.

mkdir($dirname);
@touch($dirname . "/.htaccess");
  $f = fopen($dirname . "/.htaccess", "w");
  fwrite($f, "deny from all");
fclose($f);

참고URL : https://stackoverflow.com/questions/19118482/deny-access-to-one-specific-folder-in-htaccess

반응형