Foros del Web » Programando para Internet » PHP »

Consejos para Validar Usuarios

Estas en el tema de Consejos para Validar Usuarios en el foro de PHP en Foros del Web. Buenas haber me han pedido un sistema donde tengo que hacer un par de validaciones y no tengo idea de como arrancar haber si alguien ...
  #1 (permalink)  
Antiguo 06/10/2011, 07:56
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 8 meses
Puntos: 19
Pregunta Consejos para Validar Usuarios

Buenas haber me han pedido un sistema donde tengo que hacer un par de validaciones y no tengo idea de como arrancar haber si alguien me sugiere algo..

tengo un formulario donde el usuario se identifica y las validaciones que hago son:

-Campos de Logueo estan Vacios
-Cuenta existe en la BD
-Clave coincide con la Cuenta

obviamente si en una de las 3 entra al ELSE me arroja el respectivo error, ahora el cliente me a solicitado:

Si un Usuario determinado (a exepcion del administrador) intenta entrar y comete un error 3 veces (error de CLAVE INVALIDA) bloquear la cuenta hasta que el ADministrador desbloquee nuevamente..

ahora en la tabla usuarios anadi un campo estatus donde 0 es libre y 1 es bloqueado el tipo de dato q use fue INT(1), ahora como puedo seguir...

nose como validar intentos fallidos, como resetar sus intentos.. osea de verdad estoy bastante perdido... si alguien me ilustra por favor...

Y Disculpen solo pido ideas para ver como desarrollarlo... Puesto que nunca he hecho este tipo de comprovaciones...
  #2 (permalink)  
Antiguo 06/10/2011, 08:01
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 8 meses
Puntos: 194
Respuesta: Consejos para Validar Usuarios

Agrega un campo que guarde la cantidad de intentos fallidos y listo.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #3 (permalink)  
Antiguo 06/10/2011, 08:04
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 8 meses
Puntos: 19
Respuesta: Consejos para Validar Usuarios

aja eso lo se pero dicho campo debe ser reseteado ya sea por dia o por horas transcurridas, es lo que estoy preguntando....
  #4 (permalink)  
Antiguo 06/10/2011, 08:13
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 13 años, 6 meses
Puntos: 55
Respuesta: Consejos para Validar Usuarios

usa SESSION, almacenas en una session el suario que quiere logearse por cada intento fallido sumas uno al contador al tercer intento envías un insert a la tabla de login en un campo llamado baneado por ejemplo.

Luego en el login verificas que el campo baneado sea 0 para permitir el login o 1 para denegarlo.

espero que se entienda :P
  #5 (permalink)  
Antiguo 06/10/2011, 08:14
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 8 meses
Puntos: 194
Respuesta: Consejos para Validar Usuarios

Ahi es donde fallas, cuando el contador llega a 3 o lo que tu quieras impides el acceso, y el administrador lo resetea, tan simple como eso. No es necesario el otro campo bloqueado 0,1
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 06/10/2011, 08:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Consejos para Validar Usuarios

Para eso tendrías que tener un cron Job, que se este ejecutando de manera programada cada X tiempo, y con ella validas si el tiempo desde que se bloqueo es mayor a las X dias o horas que tu definas y desbloqueas la cuenta.

Saludos.
  #7 (permalink)  
Antiguo 06/10/2011, 08:16
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 13 años, 6 meses
Puntos: 55
Respuesta: Consejos para Validar Usuarios

Cita:
Iniciado por h2swider Ver Mensaje
Ahi es donde fallas, cuando el contador llega a 3 o lo que tu quieras impides el acceso, y el administrador lo resetea, tan simple como eso. No es necesario el otro campo bloqueado 0,1

y si el usuario elimina los datos de navegación ?¿?¿ chau contador mmm debes mantener el dato invariable para ello o BD o un txt
  #8 (permalink)  
Antiguo 06/10/2011, 08:20
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 8 meses
Puntos: 194
Respuesta: Consejos para Validar Usuarios

Cita:
Iniciado por mcun Ver Mensaje
y si el usuario elimina los datos de navegación ?¿?¿ chau contador mmm debes mantener el dato invariable para ello o BD o un txt
El contador que propuse es un campo de la base.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #9 (permalink)  
Antiguo 06/10/2011, 08:21
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 13 años, 6 meses
Puntos: 55
Respuesta: Consejos para Validar Usuarios

a entonces hablamos de los mismo :)
  #10 (permalink)  
Antiguo 06/10/2011, 08:22
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: Consejos para Validar Usuarios

en el caso del contador estamos hblando de puros updates pa facil.

si no te sirve lo del cronjob el administrador podria ir a un panel de control y en un formulario ver la lista de usuarios que tengan 1 o sea baneado y de ahi con un simple boton enviar a un archivo que haga un update y devuelva a 0.
  #11 (permalink)  
Antiguo 06/10/2011, 08:23
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 8 meses
Puntos: 19
Respuesta: Consejos para Validar Usuarios

aja ahora como hago la validacion del tiempo que ha pasado entiendo de crear el dato BLOQUEADO en la BD y el contador en la BD ahora como valido el tiempo que ha pasado creo un campo fecha y hora desde el ultimo momento que intento loguearse??? ya voy entendiendo un poco...
  #12 (permalink)  
Antiguo 06/10/2011, 08:26
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 8 meses
Puntos: 194
Respuesta: Consejos para Validar Usuarios

Cita:
Iniciado por mcun Ver Mensaje
a entonces hablamos de los mismo :)
Pero hay una diferencia, cada vez que sumes uno al campo, guardas el datetime del momento. Luego cuando se ingresa de nuevo mal verificas la diferencia del datetime guardado con el actual. Y solo sumas si esta diferencia es menor a lo que tu quieras.

¿Me explico?
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #13 (permalink)  
Antiguo 06/10/2011, 08:33
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 13 años, 6 meses
Puntos: 55
Respuesta: Consejos para Validar Usuarios

Cita:
¿Me explico?
si perfectamente ...

Cita:
como valido el tiempo que ha pasado creo un campo fecha y hora desde el ultimo momento que intento loguearse???
insertas el data-time y luego lo comparas ¡¡
  #14 (permalink)  
Antiguo 06/10/2011, 08:45
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 8 meses
Puntos: 19
Respuesta: Consejos para Validar Usuarios

es tecnicamente lo que no se creo el campo DATETIME y el me guardara algo como 2011-10-06 10:12 ahora como hago para comparar la fecha que puedo obtener con php y la que tengo en la bd como pregunto si la diferencia entre fecha1 y fecha 2 es mayor nose un ejemplo a 3 horas...
  #15 (permalink)  
Antiguo 06/10/2011, 09:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Consejos para Validar Usuarios

Puedes usar la clase DateTime de PHP para hacer esos calculos.

Saludos.
  #16 (permalink)  
Antiguo 06/10/2011, 09:33
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 12 años, 11 meses
Puntos: 261
Respuesta: Consejos para Validar Usuarios

Para este tipo de tratamientos, que solo se basan en comparar es mejor utilizar números enteros, fecha tipo unix.

En PHP la obtienes con la función time() y te daría un número similar a este: 1317914915.

Si quieres hacer cálculos, solo suma o resta segundos.

Una hora 3600,
Un día 86400...

Aquí tienes una web con el conversor:
http://www.epochconverter.com/

Por si sirve de ayuda.

PD.: Acabo de leerlo, creo que es la misma que apunta GatorV.
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #17 (permalink)  
Antiguo 06/10/2011, 09:58
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 8 meses
Puntos: 19
Respuesta: Consejos para Validar Usuarios

Bueno pero para ello la hora del sistema deberia estar correcta, cierto? leere esa documentaciony de verdad gracias es que nunca e hecho algo de este calibre y me ahoge... leere estos y en mi casa empezare a programar, Gracias...
  #18 (permalink)  
Antiguo 06/10/2011, 10:04
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 12 años, 11 meses
Puntos: 261
Respuesta: Consejos para Validar Usuarios

Cita:
Iniciado por JuJoGuAl Ver Mensaje
Bueno pero para ello la hora del sistema deberia estar correcta, cierto?...
Debería, para el resto de fechas que registres que si necesitas que sean referencias reales.

Pero para este caso en concreto no es necesario, pues si toma la fecha de referencia mal, la comparación la va a hacer sobre el valor con la misma diferencia que tenía al registrarla. Aunque tenga un sigificado de fecha, no deja de ser un número entero.
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight

Etiquetas: consejos, tabla, usuarios
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 17:43.