Hay algunos métodos diferentes para esto. Un seguro El método sería agregar un campo a la tabla de usuarios de mysql y tener un hash "remember_me" que es solo un hash aleatorio generado.
El hash debe almacenarse en una cookie en la computadora de los usuarios, así como el ID de usuario con fines de validación durante el tiempo que dure el período de recuerdo (también debe establecer el período de recordarme en la base de datos como una marca de tiempo para mayor seguridad). Cuando abren su sitio, ve si esa cookie está configurada, si es así, simplemente autentique el hash con el ID de usuario. Si lo valida, se considerará que ha iniciado sesión. Si no lo valida, envíelo a una página de inicio de sesión/no se considerará que ha iniciado sesión.
Así es como configuro la mayoría de mis sitios. El problema es que si inician sesión desde otra computadora, ya no están validados en la computadora que estaban usando y tendrán que volver a autenticarse. Pero la seguridad, para mí, es más importante que tener que volver a iniciar sesión debido a esa situación.
EDITAR:Consulte los comentarios a continuación para obtener información adicional sobre las sesiones / seguridad.