2010-07-02 26 views
10

¿Es posible bloquear a los usuarios de las direcciones IP con una lista de bloqueo dinámica basada en archivos?Lista de bloqueo de IP dinámica .htaccess?

Así, supongamos que el .htaccess se parece a:

order Deny,Allow 
Deny from 123.156.0.1 
Deny from 10.0.0.10 
Allow from all 

¿Puede esta lista hacerse dinámico, por ejemplo:

order Deny,Allow 
[include Deny list here] 
Allow from all 

Otra opción sería, por supuesto fijarlo con PHP, pero es preferible dejar que Apache maneje esto.

Respuesta

6

De acuerdo con Apache docs, no parece posible leer valores de un archivo de texto.

Sin embargo, puede include un archivo de configuración que contiene las direcciones IP. Sin embargo, tendrían que estar en el formato de archivo conf de Apache.

Esto debería funcionar:

order Deny,Allow 
include conf/IPList.conf 
Allow from all 

Es incluso posible include directorios enteros, a pesar de que no es recomendable.

4

Puedo utilizar la función de RewriteMap RewriteModule de Apache, como una lista blanca de esta manera:

## WHITELIST IPS ## 
RewriteMap ipslist txt:/path/to/whitelist.txt 
RewriteCond %{REMOTE_ADDR} ^(.*)$ 
RewriteCond ${ipslist:%1|black} ^black$ [NC] 
RewriteRule (.*) - [F] 

Con algunas modificaciones, se podría hacer de esto una lista negra.

+0

RewriteMap es un enfoque agradable, pero solo funcionará en un servidor o contexto de host virtual, es decir, no .htaccess – Jason

Cuestiones relacionadas