bloqueo de peticiones web

alvaro
08 de Mayo del 2003
Hola, os escribo porque me gustaria incluir en un programa que estoy desarrollando, la opcion de bloquear las peticiones que provengan de un determinado ordenador. Es decir, en mi pagina de entrada tendre un pequeño script de acceso con login y password y quiero que, si el personaje que introduzca tres veces mal estos datos, su ip quede bloqueda, ¿es posible ?, ¿se hace con sesiones o cookies?
Eso es todo, gracias por adelantado

Banshee
08 de Mayo del 2003
Gueno, aki hay varias kuestiones:
- Si la autentificacion la haces con .htaccess y .htpasswd no es posible hacer lo ke pides
- Si la autentificación la haces mediante base de datos (o sea, el user y el pass estan en una tabla si ke se puede hacer). Necesitarias un tercer campo ke sea "active" o algo similar en la ke al introducir mal el password se añada 1 al campo, kon lo que si en el campo hubiera un 3 o superior el script de php no te dejara entrar. El campo se borraría al introducir correctamente el password siempre ke fuera inferior a 3. De esta forma bloquearía al usuario en lugar de la IP, lo cual es mucho mas recomendable, ya que las ips (a menos ke tenga adsl o algo similar) cambian cada vez que te desconectas y te vuelves a conectar a internet.

Si realizas la autentificación de otra manera podrías indicar cual para ver komo se podría solucionar.

Un saludo

BANSHEE

Mark
08 de Mayo del 2003
Pues yo te recomiendo sesiones, ya que las cookies ultimamente no estan muy bien vistas y no todos los navegadores las aceptan.
De todas maneras, puedes usar un hidden de formulario.

Saludos.

Bart
08 de Mayo del 2003
Es facil siempre que el intruso tenga una ip fija.
1 - capturamos Ip de quien entra en la web
miramos si su ip esta en la lista negra y si está lo redireccionamos a otro sitio con lo cual ni podrá intentar meter la contraseña.
2 - Si no está en lista negra, contamos numero de errores
3 - al tercer error anotamos IP en lista negra de intrusos. AL siguiente intento se le redirecciona a otro sitio y listo.

El código es sencillo. La lista negra se puede crear en un fichero de texto y leer y escribir con fopen() fgets() fwrite() fclose() y las instrucciones header location para redireccionar.

carlitos2002
08 de Mayo del 2003
Hola
No estoy muy puesto en este problema en concreto.
Pero lo que quieres, aunque dandole vueltas puede conseguirse, ¿Estas seguro que merece el esfuerzo?
Las sesiones son muy utiles para ahorrarte el paso de varibles de una pagina a otra, pero si cierras el explorador la sesion acaba y si vuelves es otra completamente diferente a menos que la mantengas con una cookie, por otro lado estas se pueden bloquear o borrar en cuyo caso volverian de nuevo a tu pagina con una sesion distinta de lo anterior.

Una opcion un poco mas viable y sencilla es guardar la ip del presunto intruso lo que por lo menos obligara a este a cambiar su ip (tampoco es dificil), a si que yo creo que lo mejor q

carlitos2002
08 de Mayo del 2003
Hola
No estoy muy puesto en este problema en concreto.
Pero lo que quieres, aunque dandole vueltas puede conseguirse algo parecido, ¿Estas seguro que merece el esfuerzo?
Las sesiones son muy utiles para ahorrarte el paso de varibles de una pagina a otra, pero si cierras el explorador la sesion acaba y si vuelves es otra completamente diferente a menos que la mantengas con una cookie, por otro lado estas se pueden bloquear o borrar en cuyo caso volverian de nuevo a tu pagina con una sesion distinta de lo anterior.

Una opcion un poco mas viable y sencilla es guardar la ip del presunto intruso lo que por lo menos obligara a este a cambiar su ip (tampoco es dificil).
Te aconsejo protejas tu pagina, si tu servidor es linux con .htaccess y .htpasswd, lo cual te devolvera esa cajita de acceso que pide nombre contraseña y dominio(opcional) que al tercer intento da error. Si no tambien se puede conseguir con php aunque con menor seguridad.

Y que el intruso vuelva las veces que quiera a probar sus 3 intentos. ya se cansara.