2009-02-27 12 views
14

Quiero restringir un sitio completo de tal forma que solo dos IP puedan ingresar al sitio. Tengo el siguiente en mi .htaccess (en la raíz del sitio):Restricción de IP con htaccess

ErrorDocument 403 http://www.example.com/views/error403.html 

Order Deny,Allow 
Deny from all 
Allow from 311.311.311 322.322.322.322 

ErrorDocument 404 /views/error404.html 
ErrorDocument 500 views/error500.html 

(Obviamente, estos son falsas direcciones IP, en mi .htaccess que son las IPs derecha)

Como se puede ver, Permití solo 322.322.322.322 y todas las direcciones IP desde 311.311.311.0/24, y denego para el resto de las personas. Lo que quiero es que cuando alguien ingrese al sitio desde otra IP, vea la página error403.html.

El filtro funciona bien, pero no la redirección. Cuando trato de entrar en el sitio desde un IP negar, aparece un mensaje de Apache:

Found 
The document has moved here 

Donde "aquí" es un enlace a error403.html.

Creo que estoy restringiendo incluso la página error403.html.

¿Cómo puedo hacer esta restricción, pero permitiendo la vista de la página de error? ¿Debo mover la página error403.html a otro directorio (es decir,/views/error /) y poner otro .htaccess en ella, permitiendo en ese archivo todas las direcciones IP?

¡Gracias de antemano!

Respuesta

10

Sí, ha respondido a su propia pregunta. :) Mueva todas las páginas no protegidas a otro directorio con su propio .htaccess que contenga los Allow y Deny adecuados.

+0

Me preguntaba si existiría otra forma de pretier para resolver este problema, pero ha confirmado mi sospecha; Lo haré con otro par directory-htaccess. Gracias Vlad! – ARemesal

+0

Siempre puede hacer esto desde httpd.conf con reglas más sofisticadas en cuanto a qué directorios se ven afectados y cuáles no, pero francamente no vale la pena a menos que tenga problemas de rendimiento con el uso de .htaccess (que no lo hará a menos que atender cientos o miles de solicitudes por segundo.) – vladr

+0

Y este sitio está alojado en una máquina compartida donde no puedo cambiar httpd.conf, por lo que la solución con .htaccess es perfecta para esto. – ARemesal

Cuestiones relacionadas