Comment refuser l’accès à mon site avec un fichier .htaccess ?

Pour des raisons de sécurité, de protection de certains fichiers, vous pouvez bloquer ou autoriser l’accès à votre site web pour des adresses IP et/ou des domaines spécifiques .

Pour cela, vous devez créer un fichier .htaccess dans le dossier racine de votre site web (/www/monsite/ par exemple) et y ajouter certaines directives que nous allons vous expliquer ci-après.

Corel's Canadian Store

Si le fichier existe déjà, consultez les articles suivants pour savoir comment le mettre à jour (selon que vous utilisez un client FTP ou SSH) :

Une fois le fichier créé, vous pouvez y ajouter les exemples de code ci-dessous.

Refuser l’accès aux fichiers

Refuser l’accès à des extensions de fichiers spécifiques

Le code suivant oblige tout fichier se terminant par .inc à lancer une erreur 404 Forbidden lors de sa visite :

<Files ~ "\.inc$">
Order Allow,Deny
Deny from All
</Files>

Refuser l’accès aux fichiers “caché”

Les noms de fichiers commençant par un point sont considérés comme “cachés” par UNIX. En général, vous ne voulez pas les servir aux visiteurs. Vous pouvez refuser récursivement l’accès à tous les fichiers cachés en plaçant ce qui suit dans un .htaccess de haut niveau :

RedirectMatch 403 /\..*$

Refuser l’accès aux dossiers

Refuser l’accès à un annuaire

Si vous n’avez pas de fichier d’index dans votre répertoire, tous vos fichiers sont répertoriés dans une liste de répertoire que tout le monde peut consulter. Le code suivant force cette liste de répertoires à lancer une erreur 404 Forbidden à la place lors de la visite :

Options -Indexes

Refuser l’accès à partir d’adresses IP spécifiques

Si vous avez des problèmes avec certains visiteurs de votre site web, vous pouvez facilement les bannir. Il existe deux façons différentes de bannir des visiteurs :

  • en utilisant leur adresse IP,
  • ou le nom de domaine à partir duquel ils se rendent sur le site.

Voici un exemple de refus d’un utilisateur en raison de son adresse IP :

deny from 10.244.152.66

Lorsque l’utilisateur essaie de se connecter à votre site à partir de cette adresse IP spécifique, il voit à la place une page 403 interdite.

Si vous voulez bloquer un bloc entier d’IP, il suffit de laisser le dernier octet désactivé. Par exemple, si vous voulez bloquer un bloc entier d’adresses IP, il suffit de laisser le dernier octet désactivé :

deny from 10.244.152

Cette fonction interdit l’accès à toute personne utilisant une adresse IP comprise entre 10.244.152.0 et 10.244.152.255.

Le lien suivant est un outil en ligne utile qui génère automatiquement une plage d’IP pour vous selon le pays : Block Visitors by Country

Permettre l’accès à partir d’un IP spécifique

Si vous devez refuser l’accès à votre site à tout le monde tout en vous autorisant ou en autorisant une autre adresse IP spécifique à le visiter, vous pouvez utiliser quelque chose comme ceci :

order deny,allow deny from all allow from <YOUR_IP_ADDRESS>

Refuser l’accès à partir d’un domaine spécifique

Cela interdit l’accès à toute personne se connectant à votre site à partir de www.nomdedomaine.com. Si quelqu’un clique sur un lien sur nomdedomaine.com qui redirige vers votre site, il voit alors une erreur 403 Forbidden :

SetEnvIfNoCase Referer “example.com” bad_referer Order Allow,Deny Allow from ALL Deny from env=bad_referer

Cet exemple génère une erreur de serveur interne de 500 pour toute personne se connectant à partir de example.com :

RewriteEngine on RewriteCond %{HTTP_REFERER} example\.com [NC,OR] RewriteRule .* - [F]

L’exemple suivant redirige tout visiteur se connectant de example.com vers google.com :

RewriteEngine On RewriteCond %{HTTP_REFERER} ^http://example.com/ RewriteRule /* http://www.google.com [R,L]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *