Aprenda a restringir o acesso de determinados IPs através do .htaccess

Por Renato Pinheiro
photo_camera Andrea Danti

FotoAndrea Danti/Shutterstock

Você que já possui algum conhecimento sobre o arquivo .htaccess pode passar direto para o passo da configuração. Se ainda não conhece, vamos começar pelo básico:

O "htaccess" (abreviatura de hypertext access) é um arquivo de orientação/leitura utilizado pelo servidor Apache nas hospedagens da plataforma Linux para o gerenciamento descentralizado das configurações do servidor web.

Com ele, você pode aplicar mudanças específicas em diretórios distintos de parâmetros como, por exemplo, register_globals, magic_quotes_gpc, include path e muitos outros. Normalmente o arquivo htaccess é inserido de modo oculto nos diretórios com o acréscimo de um ponto "." a frente do seu nome. Ex.: .htaccess

Toda vez que um arquivo htaccess é inserido em um diretório suas instruções são interpretadas de modo prioritário em relação a configuração padrão aplicada pelo servidor.

Antes de qualquer coisa, verifique se sua hospedagem permite a utilização do .htaccess. observando se há um arquivo chamado .htaccess no diretório raíz do seu site - por exemplo, no public_html.

Se houver, faça este teste: edite o arquivo inserindo qualquer coisa que faça ele gerar um erro. Se o site sair do ar é porque ele funciona! Depois, volte-o para como estava antes para que seu site retorne ao ar normalmente.

Configuração

Faça backup do .htaccess original fazendo o download do arquivo através de seu FTP. Abra-o e o modifique com um editor de texto simples.

Adicione as seguinte linhas alterando "177.98.1.159" pelo IP que deseja bloquear:

order allow,deny
allow from all
deny from 177.98.1.159

Você pode utilizar várias linhas para vários IPs, como no exemplo abaixo:

order allow,deny
allow from all
deny from 177.98.1.159
deny from 200.160.1.238

Você também pode bloquear faixas inteiras de IPs. Se quiser bloquear 177.85.1.* utilize:

order allow,deny
allow from all
deny from 177.98.1

Fácil, não é mesmo?