
29/09/2006, 02:06
|
| | Fecha de Ingreso: agosto-2006
Mensajes: 41
Antigüedad: 18 años, 8 meses Puntos: 2 | |
Hola finikini,
a mi el sistema me parece bien.
Si lo que quieres es evitar hacer dos queries puedes probar algo así:
- si el password es incorrecto, haces un sleep() de por ejemplo 3 segundos. Para alguien que quiera crackear tu sistema le supone multiplicar por mucho los intentos que necesita. Mientras que para una persona se puede considerar una espera "normal". Simplemente con esto ya tienes un sistema bastante seguro.
Pero al hacerlo de esta manera hay un pequeño problema y es que mientras el script está en espera, se puede abrir otra ventana e intentarlo de nuevo. Para resolver esto, vas a necesitar dos queries más y creo que es lo que quieres evitar, pero bueno explico como hacerlo. Necesitas un flag en la tabla de usuarios que te indique si el usuario está bloqueado. Necesitas cambiar el estado antes del sleep y después. Si hay alguien que está intentando hacer un login mientras su registro está bloqueado puedes asegurar que está intentando crackear tu sistema.
Espero que te sirva,
Albert Lanchas |