Como bloquear o Ip no .httaccess no Apache 2.4

4

Eu fiz o upgrade do Apache 2.4 e gostaria de bloquear um Ip. Isso pode ser feito usando o seguinte no .httaccess no Apache 2.2

Order Deny,Allow
Deny from 50.62.136.183

No entanto, como posso conseguir o mesmo no .httaccess no Apache 2.4

    
por Oudin 14.08.2015 / 18:46

4 respostas

7

O Apache 2.4 faz algumas grandes mudanças na maneira de autorizar usuários.

Os componentes de autorização no Apache 2.4 agora podem usar a sintaxe Require que anteriormente estava disponível apenas para autenticação. Essa alteração simplifica a maneira de definir a ordem de autorização. Os conjuntos de regras anteriores a 2.4 podem ser bastante complexos. As regras em 2.4 são mais lógicas, especificando um padrão e, em seguida, exceções.

Você está pedindo como padrão para aceitar tráfego, mas deseja bloquear um IP específico, a regra seria algo como isto:

Require all granted
Require not ip 50.62.136.183

Esta regra definirá uma política padrão de aceitação de todos os IPs, exceto qualquer solicitação proveniente do endereço IP 111.111.111.111.

Exemplos de antes e depois do Apache 2.4

Apache 2.2

<files somefile.php>
  order allow,deny
  deny from 50.62.136.183
</files>

Apache 2.4

<Files somefile.php>
Require all granted
Require not ip 50.62.136.183
</Files>

Don't forget to block access to your .htaccess file or a quick google search my render your site vulnerable. I have included the pre 2.4 and post 2.4 configuration.

Apache 2.2

# Prevent .htaccess files from being spidered or viewed via a web browser.
<FilesMatch "^\.ht">
  Order allow,deny
  Deny from all
  satisfy all
</FilesMatch>

Apache 2.4

# Prevent .htaccess files from being spidered or viewed via a web browser.
<Files ".ht*">
  Require all denied
</Files>
    
por 16.08.2015 / 00:24
7

Esta é outra sintaxe aceitável para o arquivo .htaccess :

<RequireAll>
Require all granted
Require not ip 50.62.136.183
</RequireAll>

Essa sintaxe é recomendada para o 2.4 porque a sintaxe de negação de pedido nem sempre funciona, como pode ser visto aqui link

    
por 18.01.2016 / 21:01
3

A configuração do controle de acesso foi alterada, como você pode ler no link . use a diretiva Require:

Require all granted
Require not ip 50.62.136.183

Se você adicionar isso ao seu arquivo .htaccess (ou uma seção Directory ), ele deve funcionar como você pediu.

    
por 15.08.2015 / 20:28
2

Para negar visitantes por endereço IP, você pode colocar a entrada abaixo em .htaccess

Order Deny,Allow
Deny from 198.51.100.5

Para bloquear um exemplo de intervalo de IP:

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^00\.00\.00\.
RewriteRule ^ - [F]

Para redirecionar o visitante indesejado para outro URL:

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?169.166.0.5.*$ [NC]
RewriteRule .* 198.51.100.6 [L]

Nota: o endereço IP fornecido é um exemplo de IPs.

    
por 20.01.2016 / 13:17