Foros del Web » Programando para Internet » PHP »

Bloqueo de usuarios

Estas en el tema de Bloqueo de usuarios en el foro de PHP en Foros del Web. Hola... estoy haciendo un sistema y quisiera que cuando se den 3 intentos erroneos se bloquee su ID digamos por 1 hora.... espero puedan ayudarme ...
  #1 (permalink)  
Antiguo 30/01/2008, 14:40
 
Fecha de Ingreso: septiembre-2007
Mensajes: 83
Antigüedad: 16 años, 7 meses
Puntos: 0
Bloqueo de usuarios

Hola... estoy haciendo un sistema y quisiera que cuando se den 3 intentos erroneos se bloquee su ID digamos por 1 hora.... espero puedan ayudarme


saludos
  #2 (permalink)  
Antiguo 30/01/2008, 15:00
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Re: Bloqueo de usuarios

Hola:

Si lo que quieres es bloquear al usuario, tienes que tener un campo en la BD que indique su estado (activo, bloqueado).
Si lo que quieres es que quede bloqueado desde esa PC en particular, no tendrás un método 100% efectivo, pero la IP y una cookie pueden ayudar.

El algoritmo sería más o menos:
Código:
- Formulario->submit('login.php')
- login.php:
----------------
if (usuario no está bloqueado){
	verificar datos de login
	if (datos de login erróneos){
		verificar si hubo otros intentos
		if (no hubo intentos enteriores){
			crear una variable de sesión $_SESSION['intentos_login'] = 1;
		}else if (hubo intentos pero < 2){
			incrementar intentos en la sesión $_SESSION['intentos_login']++
		}else if (hubo intentos e intentos = 2){
			bloquear usuario guardando hora de bloqueo/desbloqueo
			redireccionar a mensaje de usuario bloqueado
		}
	}
}else if (usuario está bloqueado){
	redireccionar a mensaje de usuario bloqueado
}
  #3 (permalink)  
Antiguo 30/01/2008, 15:07
 
Fecha de Ingreso: septiembre-2007
Mensajes: 83
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Bloqueo de usuarios

Gracias mas o menos es lo que estaba buscando pero la parte del bloqueo

}else if (hubo intentos e intentos = 2){
bloquear usuario guardando hora de bloqueo/desbloqueo
redireccionar a mensaje de usuario bloqueado
}


esa parte es la que no se como hacerla osea que se bloquee y despues de cierto tiempo se desbloquee intente con cookies pero si se elimina las cookies ya fue xD!

saludos..
  #4 (permalink)  
Antiguo 30/01/2008, 15:29
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Re: Bloqueo de usuarios

ok... entonces estamos en el caso que no quieres bloquear a ese usuario en general, sino a ese usuario desde esa PC en particular.
Como te dije, no hay manera 100% efectiva.

Puedes tener, además de la cookie, una tabla en la BD con usuarios bloqueados por ip y la hora en la que termina el bloqueo.

entonces:
- Si hay cookie, no le permites el acceso y listo.
- Si no hay cookie, lo buscas en la tabla de bloqueados y si coincide su ip y está dentro del tiempo de bloqueo, tampoco le permites el acceso. Y le pones la cookie :p

De todas maneras, puede borrar la cookie y reiniciar el router en caso de tener ip dinámica.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:22.