Pregunta Devolviendo código 404 para intentos no autorizados


Tengo un directorio de administración en mi servidor web (http://test.com/admin) y no quiero que personas no autorizadas accedan a este directorio / admin /. En cambio, quiero devolver el código de error 404 para todos los accesos no autorizados.

Mi pregunta es, ¿hay alguna forma de devolver el código de error 404 para todos los intentos de acceso, excepto algunas direcciones IP específicas?

Mi servidor web es Apache en Linux (plesk).


5
2018-05-27 16:02


origen


Presumiblemente, ¿está eligiendo ocultar deliberadamente el recurso en lugar de devolver un 403?
+1 para el nombre de usuario irónico. - TheTXI


Respuestas:


Bueno, cerca:

<Location /admin>
     Order deny,allow
     Allow from 10.0.0.1
     Allow from 192.168.1.1
     Deny from all
</Location>

Aunque lo que realmente hace es devolver un 403 Prohibido, no un 404 No encontrado, que es, ya sabes, correcto.

Si está colocando esto en un .htaccess en el directorio de administración, no necesita el contenedor de ubicación. El ejemplo está escrito para un servidor o un archivo de configuración de host virtual.

Véase también mod_access docs.

En lo que vale la pena, a medida que el tiempo se ha gastado, he venido encontrando cada vez más valor para poner al administrador del sitio en un host virtual completamente separado.


5





Puedes usar mod_rewrite para hacer eso.

RewriteEngine on
RewriteCond %{REMOTE_ADDR} !=10.0.0.1 [OR]
RewriteCond %{REMOTE_ADDR} !=10.0.0.1
RewriteRule ^admin($|/) - [L,R=404]

Tenga en cuenta que el R=404 La bandera requiere al menos Apache 2.1.1.


15



Esto es genial para correctamente ocultación .htaccess, etc., sin mencionar WEB-INF cuando se enfrenta a un contenedor de servlets y se guarda todo en el mismo directorio de origen. ¡Aclamaciones! - T.J. Crowder


verifique el atributo "permitir desde" en la guía de configuración


0





Debajo litespeed la siguiente pequeña variación con mod_rewrite trabajó para mi:

RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^1.2.3.4 [OR]
RewriteCond %{REMOTE_ADDR} !^1.2.3.4
RewriteRule (.*) - [R=404,L]

0