Estoy desarrollando un sistema de inicio de sesión basado en PHP. Cada usuario tiene una ID (un número) y una contraseña, que se almacena como un hash salado.Sistema de inicio de sesión de PHP utilizando cookies y hastings salados
Puedo averiguar si un inicio de sesión es exitoso o no, pero ahora necesito almacenar esa información en alguna parte (para que el usuario no cierre sesión permanentemente).
En el pasado, jugué con las variables $ _SESSION. Sin embargo, parece que se eliminan cuando el usuario abandona el navegador, lo cual no es deseado. Además, no puedo "asumir" que el usuario no intentará engañar al sistema, por lo que debe ser seguro.
lo tanto, aquí están mis preguntas:
- debo usar
$_SESSION
o$_COOKIE
? ¿Cuáles son las principales ventajas de cada uno de estos enfoques? - ¿Cómo implementar una casilla de verificación "Recordarme"?
- ¿Qué información se debe almacenar en la variable session/cookie?
Tenga en cuenta que no se están teniendo en cuenta los problemas de seguridad de la base de datos en esta pregunta en particular.
cuanto a número 3, lo que quiero decir exactamente es:
- debo guardar el ID y la contraseña con algoritmo hash del usuario en la cookie/sesión, o
- debo guardar el ID y la no -hizo una contraseña del usuario en la cookie/sesión, o
- ¿Debo almacenar un "SessionID" y la contraseña (hash o no?) o
- Debo almacenar un "SessionID", el "ID" y la contraseña (una vez más, hash o no hash)?
Quiero mantener mi sitio web tan seguro, pero eficiente y fácil de usar como sea posible. Si se toma un enfoque basado en SessionID, también agradecería alguna explicación sobre cómo almacenarlo en la base de datos.
gracias de antemano
EDIT: parecen de respuestas de Brian combinados Eran ya ser lo que necesito. Desafortunadamente, solo puedo marcar uno de ellos como aceptado. Trataré de seguir adelante e implementar para ver cuál fue más útil.
Debe volver a utilizar un marco de autenticación existente siempre que sea posible, porque es * complejo *. Por ejemplo, eche un vistazo a https://github.com/delight-im/PHP-Auth – caw