Bloqueie uma URL e sua subURL usando Htaccess

Bloqueie uma URL e sua subURL usando Htaccess

Eu tenho uma URL http://example.com/web/en/press-release/. Como posso bloquear o acesso e a visualização de todos os usuários nessa página e http://localhost:10004/web/en/press-release/*o uso .htaccess?

Quero que eles sejam acessíveis apenas a partir de IPs específicos.

Eu gostei disso, mas não funcionou.

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

Responder1

Se vocêdeveusar.htaccessarquivosvocê deve conhecer suas limitações:

.htaccessarquivos (ou "arquivos de configuração distribuídos") fornecem uma maneira de fazer alterações na configuração por diretório. Um arquivo, contendo uma ou mais diretivas de configuração, é colocado em um diretório de documento específico, e as diretivas se aplicam a esse diretório e a todos os seus subdiretórios.

Isso significa que você controla as configurações emcontêineres de sistema de arquivosem vez decontêineres de espaço web, e a configuração por padrão se aplica a todos os subdiretórios. Portanto, para atingir seu objetivo você deve colocar o .htaccessarquivo no caminho do sistema de arquivos correspondente ao caminho da URL /web/en/press-release/.

Se /web/en/press-release/em ambos localhost:10004e example.comse referir ao mesmo diretório e ambos forem servidos diretamente do sistema de arquivos usando o Apache (ou seja, não é umproxy reverso), o contexto do sistema de arquivos é uma boa escolha. DeSeções de configuração: o que usar e quando:

Escolher entre contêineres de sistema de arquivos e contêineres de espaço web é bastante fácil. Ao aplicar diretivas a objetos que residem no sistema de arquivos, sempre use <Directory>ou <Files>. Ao aplicar diretivas a objetos que não residem no sistema de arquivos (como uma página da Web gerada a partir de um banco de dados), use <Location>.

É importante nunca usar <Location>ao tentar restringir o acesso a objetos no sistema de arquivos. Isso ocorre porque muitos locais de espaço web (URLs) diferentes podem ser mapeados para o mesmo local do sistema de arquivos, permitindo que suas restrições sejam contornadas.

Em vez deusando mod_rewrite para controlar o acesso, Apache tem diretoControle de acessodiretivas. Usá-los é mais simples e torna sua configuração mais fácil de ler e gerenciar. ORequireDiretivademod_authz_coretem ip:

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

informação relacionada