Pregunta

Tengo un sistema de inicio de sesión. ¿Cómo puedo implementar un seguro Recuérdamela sistema de uso de cookies.

¿Qué valor debe tengo que guardar en nombre de usuario y contraseña para galletas, pero ¿cómo puedo asegurarlo?

¿Fue útil?

Solución

definir una sal usuario foreach en db entonces

en la configuración

$expire_time = time() + 2 * 7 * 24 * 3600; // 2 weeks exp time

setcookie( 
    "rememberMe",
    crypt($username, $salt),
    $expire_time,
    '/'
);

en la validación

$_COOKIE['rememberMe'] === crypt($username, $salt)

Otros consejos

Tal vez usted podría crear una cadena de letras 16 char / número asociado en una base de datos con ese usuario y la dirección MAC de manera que (siempre y cuando la gente no está tratando demasiado duro y spoofing los mac) sólo eso máquina puede conectarse .

Tal vez debería almacenar (en su base de datos) IP del visitante, agente de usuario, huso horario o plugins instalados. Algo que podría ser fácil de conseguir con Javascript, ya que obtener la dirección MAC podría ser un problema.

A continuación, puede comprobar fácilmente si el usuario tiene la misma IP, UA, la zona horaria o plugins que la última vez :) O puede utilizar MaxMind para comprobar su ubicación y confirmar si se está utilizando la zona horaria correcta. Si hay algo sospechoso se debe descartar credenciales de cookies.

No hay mucho a ella ... no deje que sus archivos de sesión se limpiaron (session.gc_probability = 0 configuración INI), y cambiar la cookie de sesión de temporal a (session.cookie_lifetime = however_long_you_want_the_user_to_be_remembered configuración INI) permanente.

Por supuesto, lo que probablemente desea limpiar con el tiempo hasta los archivos de sesión obsoletos, por lo que podría experimentar con un muy baja probabilidad de la occuring limpieza, o hacer algo de limpieza externa. De cualquier manera, siempre y cuando el usuario mantiene la cookie de sesión alrededor y mantener el archivo de sesión alrededor, que van a ser "recordados".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top