Lo que estas intentando hacer se logra usando:
Código:
RewriteMap access txt:/directorio/a/tu/listadebloqueados.txt
Pero la linea de arriba tiene que ser agregada al archivo httpd.conf y no tienes a acceso a ese archivo si es que no tiene un servidor dedicado.
Luego tendrias que agregar las lineas de abajo tu archivo htaccess:
Código:
RewriteEngine On
RewriteCond %{access: %{REMOTE_ADDR}} deny [NC]
RewriteRule ^ - [L,F]
Y tu listadebloqueados.txt tiene que ser algo asi y tienes que agregar manualmente cada IP indicando bloqueo
Código:
xxx.xxx.xxx.xxx deny
xxx.xxx.xxx.xxx deny
Es mas facil directamente con htaccess y ademas no le das mucha carga al servidor al tener que hacer que htaccess lea un archivo externo.
Para bloquear un IP en htacces:
Código:
####IP de mi PC abajo
allow from 192.123.123.123
####IP de mi PC arriba
####IPs bloqueados abajo
deny from xxx.xxx.xxx.xxx
deny from xxx.xxx.
####IPs bloqueados arriba
Estas queriendo bloquear IPs especificos de un pais o bad bots que hacen crawl a tu pagina robando fotos, emails, llenando formatos, etc?
Si es que estas bloqueando bad bots puedes crear una pagina, llamarla trampa.php e indicar en robots.txt que los bots como googlebot, bing y slurp no lean ni indexen esa pagina y como esos bots respetan el achivo robots.xt no, lo ignoraran, mientras los bad bots se comen toda pagina que encuentran y con php script los puedes bloquear automaticamente y agregar los deny from automaticamente al archivo htaccess. Usando ese php script me di cuenta que Baidu no respeta el achivo robots.txt y finalmente decidi bloquear baidu por completo usando htaccess:
Código:
####Bloquea bad bots user agents abajo
RewriteCond %{HTTP_USER_AGENT} AppleWebKit|Baiduspider\+|Baidu|SemrushBot|MJ12bot|ia_archiver|AhrefsBot|WordPress.com|mShots|WordPress\.com\ mShots|YandexBot|Ezooms|Mail\.RU\_Bot\/2\.0 [NC]
RewriteRule .* - [F]
####Bloquea bad bots user agents abajo