Htaccess를 사용하여 URL 및 해당 하위 URL 차단

Htaccess를 사용하여 URL 및 해당 하위 URL 차단

URL이 있습니다 http://example.com/web/en/press-release/. 모든 사용자의 액세스와 해당 페이지 보기 및 http://localhost:10004/web/en/press-release/*사용을 차단하려면 어떻게 해야 합니까 .htaccess?

특정 IP에서만 접근이 가능하도록 하고 싶습니다.

나는 이것을 좋아했지만 작동하지 않았습니다.

# Press Release Blocked Now
RewriteCond %{HTTP_REFERER} web/en/press-release/ [NC,OR]
RewriteRule .* - [F]

답변1

만약 너라면~ 해야 하다사용.htaccess파일당신은 그들의 한계를 알아야 합니다:

.htaccess파일(또는 "분산 구성 파일")은 디렉터리별로 구성을 변경할 수 있는 방법을 제공합니다. 하나 이상의 구성 지시어가 포함된 파일은 특정 문서 디렉터리에 배치되며 지시어는 해당 디렉터리와 해당 디렉터리의 모든 하위 디렉터리에 적용됩니다.

즉, 다음의 설정을 제어할 수 있습니다.파일 시스템 컨테이너오히려웹 공간 컨테이너이며 기본적으로 구성은 모든 하위 디렉터리에 적용됩니다. 따라서 목표를 달성하려면 .htaccessURL 경로에 해당하는 파일 시스템 경로에 파일을 배치해야 합니다 /web/en/press-release/.

/web/en/press-release/가 동일한 디렉토리를 참조하고 둘 다 Apache를 사용하여 파일 시스템에서 직접 제공되는 경우 (즉,localhost:10004example.com역방향 프록시), 파일 시스템 컨텍스트가 좋은 선택입니다. 에서구성 섹션: 무엇을 사용할지 언제:

파일 시스템 컨테이너와 웹 공간 컨테이너 중에서 선택하는 것은 실제로 매우 쉽습니다. 파일 시스템에 있는 객체에 지시어를 적용할 때는 항상 <Directory>또는 를 사용하세요 <Files>. 파일 시스템에 상주하지 않는 객체(예: 데이터베이스에서 생성된 웹 페이지)에 지시어를 적용할 때는 <Location>.

<Location>파일 시스템의 개체에 대한 액세스를 제한하려고 할 때는 절대 사용하지 않는 것이 중요합니다 . 이는 다양한 웹 공간 위치(URL)가 동일한 파일 시스템 위치에 매핑되어 제한 사항을 우회할 수 있기 때문입니다.

대신에mod_rewrite를 사용하여 액세스 제어, Apache는 직접액세스 제어지시문. 이를 사용하는 것이 더 간단하며 구성을 더 쉽게 읽고 관리할 수 있습니다. 그만큼Require지령~에서mod_authz_core가지다 ip:

Require ip 192.0.2.100
Require ip 198.51.100.0/24
Require ip 2001:DB8:C0F:FEE::/64

관련 정보