web 2.0

Seebz.net

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.

Partager : Share
 

6 Réponses à “Bannir ou rediriger une IP avec .htaccess”

  1. Merci pour l'astuce, ca pourra servir :)

  2. L'ip ne change pas à chaque redémarrage de l'ordinateur?
    Ce qui rendrait le script complétement obsolète...

  3. Oui selon le FAI, l'ip change au redémarrage du routeur (ou du PC si tu te connecte en PPP).

    L'ip peut aussi changer automatiquement toutes les X heures (par exemple 24) même si tu ne redémarre pas le routeur.

    Comme tu l'as indiqué, cette astuce n'est pas toujours adaptée mais quand un site/robot te spamme, il ne change pas d'ip donc cette méthode est adaptée ;)

  4. Bonjour,
    très bonne astuce, elle pourra servir mais est-ce qu'il est possible de bannir une plage d'ip avec ce système ?

  5. Tout à fait dexinou, il suffit d'indiquer la plage à la place de l'ip ;)

    Deny from 123.456.789
    RewriteCond %{REMOTE_ADDR} ^123.456.789


    Remarque que pour le RewriteCond, il ne faut plus indiquer le '$' fianl ;)

  6. Malheureusement, l'URL Rewriting ne semble pas fonctionner pour les pages perso de FREE... Je n'arrive plus du tout à accéder au site lorsque je mets ce code dans .htaccess... J'ai une erreur 500 ! Comment faire pour rediriger une certaine adresse IP vers une page spécifique?

Poster un commentaire

Remonter