Bannir ou rediriger une IP avec .htaccess

Il peut arriver à un webmaster doit bannir une adresse IP précise ou une plage d'adresse.
Que se soit à cause de spam ou d'un robot non désiré, ce visiteur n'est plus le bienvenue sur le site.

Nous allons voir ici comment bannir ce visiteur non désiré à l'aide d'un .htaccess.

C'est bien beau tout ça mais c'est quoi un .htaccess ?

Il s'agit d'un fichier qui permet de configurer Apache, le serveur web utilisé en général sous Linux.
Placé dans un dossier, il appliquera nos règles dans ce dossier et les sous-dossiers qu'il contient.

Deny from

Order Allow,Deny
Allow from all
Deny from 123.123.123.123
Order Allow,Deny On applique les règles dans l'ordre Allow et ensuite Deny
Allow from all Tout le monde est autorisé
Deny from 123.123.123.123 123.123.123.123 n'est pas autorisé

Notre visiteur indésirable ayant l'IP 123.123.123.123 aura une erreur 403 (forbidden) lorsqu'il essayera de se connecter sur le site.

Notez qu'il est aussi possible de bloquer un réseau complet (Deny from 123.123.123) ou un nom de domaine (Deny from example.com)

RewriteRule

La différence avec cette méthode est que le visiteur n'aura plus l'erreur 403 mais sera redirigé vers un autre site.

# On active le rewriting
RewriteEngine On

RewriteCond %{REMOTE_ADDR} ^123.123.123.123$
RewriteRule ^(.*)$ http://www.example.com [L]

Vous l'aurez compris, le visiteur indésirable sera redirigé vers www.example.com.

comments powered by Disqus