remember password php authentication cookies remember-me

password - remember me php



¿Cómo puedo crear un sistema seguro de "recordarme" usando PHP? (4)

Tal vez debería almacenar (en su base de datos) IP de visitante, agente de usuario, zona horaria o complementos instalados. Algo que podría ser fácil de usar usando Javascript, ya que obtener una dirección MAC podría ser un problema.

Luego puede verificar fácilmente si el usuario tiene el mismo IP, UA, zona horaria o complementos que la última vez :) O puede utilizar MaxMind para verificar su ubicación y confirmar si está usando la zona horaria correcta. Si hay algo sospechoso, debes descartar las credenciales de las cookies.

Tengo un sistema de inicio de sesión. ¿Cómo puedo implementar un sistema seguro de recordarme usando cookies?

¿Qué valor debo tener para almacenar el nombre de usuario y la contraseña de la cookie, pero cómo puedo protegerlo?


No hay mucho que hacer ... no deje que sus archivos de sesión se limpien (ini setting session.gc_probability = 0 ) y cambie la cookie de sesión de temporal a permanente (ini setting session.cookie_lifetime = however_long_you_want_the_user_to_be_remembered ).

Por supuesto, es probable que desee eliminar eventualmente los archivos de sesión obsoletos, por lo que podría experimentar con una probabilidad muy baja de que ocurra la limpieza o realizar una limpieza externa. De cualquier manera, mientras el usuario mantenga la cookie de sesión y guarde el archivo de sesión, serán "recordados".


Tal vez podría crear una cadena de caracteres / números de 16 caracteres asociada en una base de datos con ese usuario y la dirección MAC para que (siempre que la gente no intente demasiado y falsifique macs) solo esa máquina pueda iniciar sesión.


definir un usuario de Salt Foreach en db luego

en el ajuste

$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)