.htaccess - Bloquear conexiones IP cada X entradas

Iniciado por WIитX, 9 Noviembre 2014, 03:02 AM

0 Miembros y 1 Visitante están viendo este tema.

WIитX

.htaccess

Buenas miren tengo una duda quisiera saber si existe algún programa o con .htaccess yo podría bloquear una dirección IP de la siguiente manera.

Si la dirección IP hace 30 ingresos en 1 día se bloquearía o al hacer 30 intentos en un espacio de tiempo muy corto bloquearla. Saben si es posible o si hay alguna manera?
"Es más divertido hacerse pirata que unirse a la marina." (Steve Jobs)

tornoman

Hola, hay un post que habla sobre ip tables, el que estaba es para linux, espero que eso te sirva, solo es cuestion de buscar un poco, y perdona que no te pueda pasar el linck, estoy desde el movil.

WIитX

Si ya lo vi se me olvido comentar es windows server
"Es más divertido hacerse pirata que unirse a la marina." (Steve Jobs)

ivancea96

¿Con una base de datos?
Podrías tener una rabla {IP, última petición, cantidad de peticiones}
En cantidad vas incrementando si el tiempo entre la peticion y la última petición es menor que X.
Es un ejemplo.

someRandomCode

fail2ban -> hechale un ojo, si estas en un servidor con Linux/*BSD te viene justo para bloquear HALF-TCP y por conexiones excesivas..

Tambien tenes mod_limitipcon

Kaxperday

#5
Idea macabra:

Código (php) [Seleccionar]

<?
$fp=fopen("Control.txt","at");
fwrite($fp,$_SERVER['REMOTE_ADDR'] . "\n");
fclose($fp);
?>


Este archivo lo borrarías cada día y luego tendrías que ejecutar un script PHP que te busque coincidencias de IP, si en el archivo llegas a 30 coincidencias quiere decir que esa máquina se ha conectado a esa dirección 30 veces en menos de un día luego podrías bloquearla, creando otro archivo php de control, les rediriges ahí en cada conexión y si coinciden, les deniegas la conexión hasta el siguiente día o hasta que quieras.

No es buena forma de hacerlo, nunca lo he probado pero creo que funcionaría, quizás le falten unas cosas, pero tampoco me parece mala idea, lo único que si la web es muy visitada puede pinzarse, aunque podrías borrar el archivo cada hora y si alguien se conecta mas de 20 veces en esa hora le deniegas conexión todo el día por ejemplo.

Edito: me quedo con la de ivancea.

Saludos.
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

el-brujo

con un .htacces no puedes hacer eso.

Para bloquear una ip cada x peticiones tienes que usar un módulo tipo mod_evasive para apache.

Aunque hay muchos otros:

- mod_bandwidth para Apache versión/rama 1.3.x
- mod_bw para Apache versión/rama 2.x
- mod_cband para Apache2
- mod_ratelimit para Apache 2.4.x y 2.5.x
- mod_qos  para Apache 2 (quality of service (QoS))

Limitar ancho de banda en Apache
http://blog.elhacker.net/2013/02/limitar-ancho-de-banda-en-apache.html


O usar floodmon, ddos deflate, etc

DDoS Deflate, script bash para mitigar ataques DoS
http://blog.elhacker.net/2013/12/ddos-deflate-script-bash-para-mitigar-ataques-ddos-dos.html


WIитX

Muchas gracias a todos! :D  a ver si consigo instalar el mod_evasive por que probé de esta manera pero no me da resultado..

http://foro.elhacker.net/desarrollo_web/iquestasi_se_instala_modevasive_en_xampp_v813-t424699.0.html
"Es más divertido hacerse pirata que unirse a la marina." (Steve Jobs)