1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Restreindre l'accès à certaines pages ou répertoires
Ce guide explique comment vous pouvez bloquer l'accès à certains répertoires pour certains visiteur/robot/aspirateur en filtrant et bloquant leurs adresses IP ou noms d'hôte.
Règles .htaccess
Créez un document .htaccess à la racine de votre site et inscrivez les règles destinées à bloquer certaines adresses IP ou certains bots. Par exemple, pour bloquer uniquement les visiteurs en utilisant le début de leur adresse IP, vous pouvez utiliser la directive "deny from:
Order Deny,Allow
Deny from 123.456.
Allow from all
Cela signifie que toutes les requêtes provenant d'une adresse IP commençant par "123.456." seront refusées, tandis que toutes les autres requêtes seront autorisées. Les utilisateurs bloqués recevront un message d'erreur HTTP 403 Forbidden.
Bloquer une adresse IP spécifique
Order Allow,DenyDeny from 123.456.789
Allow from all
Cela signifie qu'une seule adresse IP, 123.456.789, est bloquée et toutes les autres adresses IP peuvent accéder au site.
Bloquer plusieurs adresses IP
Order Allow,Deny
Deny from 123.456.789
Deny from 987.654.321
Allow from all
Cela signifie que deux adresses IP, 123.456.789 et 987.654.321, sont bloquées et toutes les autres adresses IP peuvent accéder au site.
Bloquer un bot par son user-agent
SetEnvIfNoCase User-Agent "BadBot" BadBot
Order Allow,Deny
Deny from env=BadBot
Allow from all
Cela signifie que tout bot identifié avec un user-agent "BadBot" sera bloqué et tous les autres utilisateurs peuvent accéder au site.
Bloquer un accès à un dossier spécifique
<Directory "/chemin/vers/dossier">
Order Allow,Deny
Deny from all
</Directory>
Cela signifie que tous les accès au dossier "/dossier" seront bloqués, indépendamment de l'adresse IP ou du user-agent.
Directives mod_rewrite
Vous pouvez également utiliser la directive mod_rewrite
pour bloquer certaines adresses IP ou certains bots dans un fichier .htaccess.
Voici quelques exemples:
Bloquer une adresse IP spécifique
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^123\.456\.789\.
RewriteRule ^(.*)$ - [F,L]
Cela signifie qu'une seule adresse IP, 123.456.789, est bloquée et toutes les autres adresses IP peuvent accéder au site.
Bloquer plusieurs adresses IP
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^123\.456\.789\. [OR]
RewriteCond %{REMOTE_ADDR} ^987\.654\.321\.
RewriteRule ^(.*)$ - [F,L]
Cela signifie que deux adresses IP, 123.456.789 et 987.654.321, sont bloquées et toutes les autres adresses IP peuvent accéder au site.
Bloquer un bot par son user-agent
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} BadBot [NC]
RewriteRule ^(.*)$ - [F,L]
Cela signifie que tout bot identifié avec un user-agent "BadBot" sera bloqué et tous les autres utilisateurs peuvent accéder au site. Cela peut être utile pour empêcher les robots indésirables d'accéder à certaines pages ou de consommer des ressources inutilement.
Bloquer un accès à un dossier spécifique
RewriteEngine on
RewriteRule ^dossier/secret - [F,L]
Cela signifie que tous les accès au dossier "/dossier/secret" seront bloqués, indépendamment de l'adresse IP ou du user-agent.
Bloquer et rediriger ailleurs
RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^123\.456\.789\.
RewriteRule ^(.*)$ http://www.domain.xyz/blocked.html [L,R=301]
Cela signifie que toutes les requêtes provenant de l'adresse IP 123.456.789 seront redirigées vers la page "blocked.html" sur le site "www.domain.xyz". La dernière partie de la ligne RewriteRule, [L,R=301], indique que la redirection est permanente (R=301) et que c'est la dernière règle à être appliquée (L).
Vous pouvez ajouter plusieurs conditions RewriteCond pour bloquer différentes adresses IP et rediriger vers différentes pages.
Lire aussi cette FAQ (cliquez ici).