FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda para crear un formulario de login y pass
Saludos a todos!
Bueno, mi problema es el siguiente: Cuento con una base de datos ya creada en access llamada savcc.mdb donde en una tabla llamada tbl_logpass cree unos campos que son: clave_user login_user pass_user bueno, y mi formulario tiene los siguientes campos: un edit para el login un edit para el password un boton de aceptar para que haga las respectivas validaciones lo que deseo que haga este formulario es que accese a la base de datos ya mencionada y que verifique si el login y pass introducidos en los campos edit concuerdan con los que estan dentro de la base de datos de access y si fue satisfactoria la busqueda proceda a abrir otro form donde se realizaran actividades como altas,bajas, modificaciones y consultas de clientes y demas procesos. cabe notar que ya realice la conexion a la base de datos con el ADOConnection(ADODB) y tambien ya realice la conexion con la tabla con el ADOTable(ADODB). Agradeciendo de antemano la ayuda prestada y por tomarse el tiempo de leer mi problema. Hasta luego y Exitos! NOTA: He editado el post porque ya resolvi mi problema, terminando mi proyecto y despues de que lo entregue procedere con enviar el codigo para futuros consultantes. Hasta luego y gracias! Última edición por Striker fecha: 15-06-2005 a las 09:47:56. Razón: ya resolvi mi problema |
#2
|
|||
|
|||
hola
ojala que puedas poner como lo solucionaste... yo tengo estoy queriendo resolver la misma situacion.
Gracias!! |
#3
|
||||
|
||||
Cita:
Se ha hablado bastante de este tema. Saludos
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#4
|
|||
|
|||
Hola.
Yo lo hice realizando un Locate al codigo de usuario en la tabla de claves y luego procedí a validar tal clave que concuerde con la del edit, si es correcto que inicie sesión. si necesitas códigos me avisas. |
#5
|
||||
|
||||
Sugerencia
Para podr comprobar si el usuario y la contraseña son correctas pues debes hacer primero uan consulta a esa base de datos trayendo los usuarios y las contraseñas guardadas y cargarlos por ejemplo en un combobox para usuarios y otro para contraseñas obviamente invisibles al usuario y hacer un ciclo segun la cantidad de items del combobox preguntar uno por uno.. por ejemplo el item 0 del combobox usuario es pepe y el item 0 del combobox pass es 861030 pues pregunto si lo que esta en mis edit es eso pues adelnate si no es asi paso al siguiente item y ya... si necesitas mas ayuda pyes dime.... yo tengo hecho un login para una aplicacion mia pero utilizo el registro de windows que es mas recomendable tengo creadas mis llaves donde nadie sabe ni encontraran jajajajaa te recomiendo que uses este metodo, si necesitas mas explicacion pues ya sabes donde estamos...
|
#6
|
|||
|
|||
Cita:
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:
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 |
#7
|
||||
|
||||
Hola, totalmente de acuerdo en que el uso del registro no es confiable. Sin embargo creo conveniente observar que una sentencia como
pudiera prestarse a una inyección sql. Pienso que convendría más simplemente buscar el login:
y con el registro resultante (si existe) comparar las contraseñas. Eso sí, la contraseña debe guardarse encriptada y para hacer la comparación no se desencripta sino que se encripta la que se proporciona y se compara con la almacenada. // Saludos |
#8
|
|||
|
|||
jejejeeje, no queria entrar en el SQL-injection para no complicar el tema.
Con access bastaria con romper la protección de la base de datos y leer la tabla de usuarios, asi que no me pareció oportuno entrar a comentar esta tecnica. Pero, date cuenta de que en el caso de encriptar el login y el password, la injeccion de sql es imposible, ya que los dos parametros se encriptan ANTES DE pasarselos al query. Por otro lado, Cita:
¿por qué es más segura la segunda sentencia que la primera??? |
#9
|
||||
|
||||
Ja, creo que tienes razón. Es tan insegura una como la otra, en ambas puede haber inyección.
Moraleja: encriptar. // Saludos |
|
|
|