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.htaccess
arquivosvocê deve conhecer suas limitações:
.htaccess
arquivos (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 .htaccess
arquivo no caminho do sistema de arquivos correspondente ao caminho da URL /web/en/press-release/
.
Se /web/en/press-release/
em ambos localhost:10004
e example.com
se 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. ORequire
Diretivademod_authz_coretem ip
:
Require ip 192.0.2.100
Require ip 198.51.100.0/24
Require ip 2001:DB8:C0F:FEE::/64