Le blocage de l’adresse IP dans .htaccess ne fonctionne pas

J’essaie de configurer un simple bloc d’adresse IP dans mon fichier .htaccess. J’ai suivi des exemples que j’ai trouvés ici sur ce forum, qui ont semblé fonctionner correctement pour les autres utilisateurs, mais ne fonctionnent pas pour moi et je ne comprends vraiment pas pourquoi.

Mon fichier .htaccess est très simple:

Order Allow,Deny Allow from all Deny from aaa.bbb.ccc.ddd 

Je pense que l’adresse IP configurée (aaa.bbb.ccc.ddd) sera bloquée. Mais malheureusement, il n’est pas bloqué.

Si je mets «Refuser de tous» dans la troisième ligne de mon fichier .htaccess, tous les access sont bloqués comme prévu.

Il semble donc que la directive soit lue par Apache, mais si je définis autre chose que “à partir de tous”, par exemple un nom d’hôte ou une adresse IP ou un caractère générique IP, etc., aucun blocage ne se produit.

J’apprécie toute aide, en me dirigeant dans la bonne direction.

Merci Nestor

Probablement un hareng rouge, mais je suppose que vous avez les balises autour de votre bloc .htaccess? par exemple

  order allow,deny allow from all deny from 100.101.102.103  

C’est comme ça que je l’utilise sur l’un de mes sites.

Etes-vous sûr que l’adresse IP que vous incluez est l’adresse IP que voit Apache? Si le serveur est derrière un équilibreur de charge, il verra l’adresse de l’équilibreur de charge.

Pour surmonter cela, vous devez examiner l’en-tête X-Forwarded-For

  SetEnvIf X-Forwarded-For ^aaa\.bbb\.ccc\.ddd proxy_env Order allow,deny Satisfy Any deny from env=proxy_env 

Vous pouvez évidemment vérifier quelle adresse IP est vue en regardant vos journaux

Je suis tombé sur un problème similaire récemment, il s’agissait de IPv4 et IPv6. Consultez les journaux d’access de votre serveur et vérifiez comment votre adresse IP est enregistrée. Vous pouvez en fait bloquer une adresse IPv4, tout en atteignant votre serveur Web avec votre adresse IPv6 (qui n’est pas bloquée).

Si vous n’avez pas access à ces journaux, essayez simplement de bloquer votre IPv6 de la même manière que vous essayez de bloquer votre IPv4. Vous pouvez trouver votre IPv6 ici: http://whatismyv6.com/

 Order Allow, Deny Allow From All Deny From [Your-IPv4] Deny From [Your-IPv6] 

J’ai eu le même problème alors trouvé que le fichier .htaccess avait mélangé des caractères de nouvelle ligne (CR et certains CRLF). supprimé le fichier et créé à nouveau avec les retours chariot appropriés