Ver Mensaje Individual
  #6  
Antiguo 02-08-2006
Sick boy Sick boy is offline
Miembro
 
Registrado: may 2003
Ubicación: Cantabria
Posts: 245
Reputación: 21
Sick boy Va por buen camino
Cita:
utilizo el registro de windows que es mas recomendable tengo creadas mis llaves donde nadie sabe ni encontraran jajajajaa
Eso es lo que tu te crees.
Este metodo no es nada seguro, un usuario con conocimientos medios se lo salta en unos minutos.

Un programa como regmon, puede indicar facilmente que claves de registro estas leyendo, e incluso creo recordar que te da los valores obtenidos.

Asi que no solo no es seguro, sino que como ademas dices que lees todas las claves de todos los usuarios, pues eso, de un tirón obtienes todos los login y password.

Lo del locate, pues es un poco más seguro, pero como que tampoco es muy valido. Nunca es buena idea traerte el pass y hacer una comprobación.
Por otro lado, access no es nada seguro, asi que de insertar la contraseña, pasenla por un encriptador, porque sino en 2 minutos se obtienen todos los login y pass.

Si realmente les interesa la seguridad de las contraseñas, hay que elaborarlo un poco más, lo anteriormente expuesto es una seguridad "para niños"

Les voy a dar una idea:
Hagan una sentencia select parametrizada con el login y el pass, y luego comprueben si el query les devuelve alguna fila (con lo que el acceso es correcto) o si por el contrario no les devuelve ninguna fila (login o pass incorrectos).

Ejemplo:
Código Delphi [-]
q1.sql.add('SELECT login FROM usuarios WHERE login=:log AND password=ass');
q1.parambyname('log').asstring:=edit_login.text;
q1.parambyname('pass').asstring:=edit_pass.text;
q1.open;
if q1.recordcount>0 then showmessage('correcto');
// recordcount no es valido para bases cliente/servidor.

Si quieren, encripten el login o el pass (o ambos) en la base de datos, y antes de pasar el dato al parametro hagan de nuevo la encriptación.

Y como apunte personal, no usen access, NUNCA

Saludos
Responder Con Cita