Autor
|
Tema: Sesion SQL (Leído 5,135 veces)
|
dimitrix
|
Vamos a ver, estoy programando una cosa en PHP/SQL, lo que no se bien es como hacer lo siguiente.
- Hacer que un user se cree una cuenta (se hacerlo) - Hacer que se guarde datos tipo, nick, pass (en md5 o no) (se hacerlo) - Hacer que al logearse se cree un cookie con un contenido (se hacerlo)
Lo que no se o mejor dicho no entiendo es que me recomendais que guarde en la cookie para saber que user es, me eplico, podría hacer una función random que al crear una cuenta se guarde como el valor "cookie", pero es un poco a lo desesperado, me gustaría saber si hay alguna forma mejor para hacer eso.
Muchas gracias.
|
|
|
En línea
|
|
|
|
Rentero
Ex-Staff
Desconectado
Mensajes: 1.164
La paciencia es la madre de la ciencia.
|
Me haces dudar ami también ¿Quieres saber que poner en la cookie para saber que user es? Puedes poner un identificador o el nombre de usuario, por ejemplo. Pero tendrás que validar que es un usuario correcto. Una solución sería tener el par user-password en la cookie y comprobar que ese pass corresponde a ese user. Si solo pones un id o un nombre, puede falsearse facilmente.
|
|
|
En línea
|
Firmado.
|
|
|
dimitrix
|
- El problema de si pongo su nick es que cualquiera que edite la cookie ya podría entrar en la cookie de otro.
- El problema de si pongo la pass en la cookie aunque sea cifrada (MD5, etc...) sería que se puede conseguir con crackeadores y que si hay dos users con la misma password pues no funcionaría bien.
Si pongo un "id" no se puede falasear muy facilmente (creo XD), quiero decir, por ejemplo, si pongo un random que sea de "0" a "9" y de "A" a "F" con una longitud de 15 dígitos, pues sería muy complicado, pero creo que esto sería un poco "a la desesperada" ¿No?
Un saludo.
|
|
|
En línea
|
|
|
|
Rentero
Ex-Staff
Desconectado
Mensajes: 1.164
La paciencia es la madre de la ciencia.
|
Si pones el user-pass no hay problema. Salvo que le roben la cookie, pero es un riego asumible. Si pones user-pass o id-pass no hay ningun problema con que dos usuarios tengan la misma contraseña. Porque tú lo que compruebas es que la contraseña de tal usuario sea tal. El único problema es que dos usuarios con un mismo nombre(que si lo permites es poco lógico) tengan la misma pass. El tema de crackear un md5 es demasiado complicado, siempre que no sea una contraseña corta y muy usual. Ahora te pongo un par de ejemplos para salvarlo. Que mas...uhmmm. ahh si, cuando hablo de un identificador me refiero a tener una colunma autoincrementable en la tabla "users", con lo que cada nuevo usuario registrado tendrá una id = (id_ultimo_registrado) + 1; eso es lo más habitual en sistema de usuarios, llevar un recuento de los que hay e identificarlos por un número. Otra cosa...para complicar el crackeo de md5, por ejemplo: <?php $pass = "blabla"; //pass introducida por el usuario al registrarse. $pass = numAleatorio()."!.<".$pass."7bhw"; //pass que irá a la bd y a la cookie posteriormente. ?>
O más facil todavia: <?php ?>
También hay otros algoritmos de cifrado, pero con eso me parece bastante. No se si me dejo algo...
|
|
|
En línea
|
Firmado.
|
|
|
dimitrix
|
Ok, gracias, no obstante si pongo lo de "autoincrementar" con cambiar de número ya se podría acceder a otra cuenta. De todos modos como me gustaría que no existiese nada de pass ni de user en la cookie, lo haré del otor método que ya he dicho antes de dar por random un valor a cada usuario.
Muchas gracias por todo.
|
|
|
En línea
|
|
|
|
Rentero
Ex-Staff
Desconectado
Mensajes: 1.164
La paciencia es la madre de la ciencia.
|
Ok, gracias, no obstante si pongo lo de "autoincrementar" con cambiar de número ya se podría acceder a otra cuenta. De todos modos como me gustaría que no existiese nada de pass ni de user en la cookie, lo haré del otor método que ya he dicho antes de dar por random un valor a cada usuario.
Muchas gracias por todo.
Volvemos a lo mismo, si pones solo el id si podria cambiarse...si pones el id y la contraseña no xD. Poner un numero aleatorio o el usuario-contraseña(bien cifrados) es exactamente igual de seguro, me atrevería ha decir que lo segundo es mejor. Pero bueno, es lo que yo pienso.
|
|
|
En línea
|
Firmado.
|
|
|
SpiderNet
Desconectado
Mensajes: 149
No abuses de tus conocimientos
|
Que pasa si el navegador tiene bloqueadas las cookies???
De que otra forma podemos hacerlo???
Saludos!!!
|
|
|
En línea
|
|
|
|
|
cassiani
Desconectado
Mensajes: 978
« Anterior | Próximo »
|
Que pasa si el navegador tiene bloqueadas las cookies??? De que otra forma podemos hacerlo???
propagación por url, aunque igual que el anterior, tiene sus desventajas
|
|
|
En línea
|
|
|
|
SirLanceCC
|
Justamente hoy estaba pensando en eso... ¿Que tan bueno sería hacer algo así?
Cuando el usuario ingrese sacar obtener el timestamp Guardar en la base de datos el timestamp Guardar en las cookies el id de usuario y el timestamp (codificado quizas) Cuando se desee verificar que el usuario es legitimo se compara el id y el timestamp
Ahora si quieren falsificar las cookies del usuario tendrían que saber el momento exacto en que ingresó por ultima vez. Y la contraseña no aparece por ningún lado
¿Como ven? ¿Es buena idea? ¿Es seguro?
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Recuperar sesión en Fedora 17
GNU/Linux
|
orenxrei
|
0
|
2,127
|
16 Junio 2012, 00:43 am
por orenxrei
|
|
|
Variable de Sesión
PHP
|
Zinc
|
2
|
1,768
|
18 Junio 2012, 17:15 pm
por Zinc
|
|
|
archivos de sesión wpscrackgui
GNU/Linux
|
polarik
|
0
|
2,128
|
18 Junio 2013, 18:45 pm
por polarik
|
|
|
sesión caduca
PHP
|
kakashi20
|
0
|
1,850
|
2 Abril 2014, 22:10 pm
por kakashi20
|
|
|
sesion caducada
PHP
|
kakashi20
|
2
|
2,667
|
24 Octubre 2014, 07:02 am
por JorgeEMX
|
|