2 votes

Comment puis-je refuser l'accès à une certaine adresse IP tout en affichant une page d'erreur personnalisée avec Apache2 ?

J'ai Dans ma racine web /home/www/ J'ai un .htaccess pour interdire les adresses IP :

order allow,deny
deny from 1.2.3.4
deny from 2.3.4.5
allow from all

ErrorDocument 500 /errors/500.htm
ErrorDocument 403 /errors/403.htm

J'ai également essayé de cette manière avec les déclarations d'erreur :

ErrorDocument 500 /home/www/errors/500.htm
ErrorDocument 403 /home/www/errors/403.htm

J'ai créé un répertoire d'erreurs, /home/www/errors qui contient les fichiers suivants :

403.htm
500.htm
.htaccess

Dans le répertoire des erreurs .htaccess J'ai établi les règles :

order deny,allow
allow from all

Si je place mon IP dans le fichier racine .htaccess, je ne peux pas naviguer sur le site. Je reçois une erreur :

Interdit - Vous n'avez pas la permission d'accéder à / sur ce serveur.

En outre, une erreur 403 Forbidden a été rencontrée en essayant d'utiliser un ErrorDocument pour traiter la demande.

Cependant, si je navigue vers /errors/500.htm, je peux voir cette page dans mon navigateur, donc je connais le sous-répertoire. .htaccess semble permettre le chargement de ces fichiers.

Qu'est-ce que je fais de mal ? Comment puis-je refuser l'accès à partir d'une certaine adresse IP tout en affichant une page d'erreur personnalisée avec Apache2 ?

1voto

frameworkninja Points 628

Il serait beaucoup plus simple de simplement rediriger les personnes provenant des IP bloquées vers une page d'erreur :

RewriteCond %{REMOTE_ADDR} 1.2.3.4
RewriteRule .* /CustomError.html [R=403]

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X