Codeigniter: caducidad de la sesión y función "recordarme"

Estoy creando una función "Recordarme" en Codeigniter, normalmente veo bibliotecas / proyectos que configuran una cookie en el usuario con un token, este token se guarda en la base de datos y se compara cada vez que el usuario accede al sitio web.

Sin embargo, en Codeigniter podemos establecer el tiempo de expiración de la sesión, esto me lleva a probar un enfoque diferente, esto es lo que hice:

Puse la session_expiration en config a 0 (sesión infinita)Si el usuario deja "Recordarme" sin marcar, establezco un tiempo de 2 horas en la sesión y la sesión se destruye al cerrar la ventana.

Así que mi código de inicio de sesión se ve así:

if (!$this->input->post('remember_me')) {
                $this->session->sess_expiration = 7200;
                $this->session->sess_expire_on_close = TRUE;
            }

            $this->session->set_userdata($session_data);

Y mi archivo de configuración:

$config['sess_expiration']      = 0;
$config['sess_expire_on_close'] = FALSE;

No veo que la gente use esta solución en proyectos, he probado esto y parece que funciona bien.

Entonces, para mi pregunta, ¿diría que es una práctica segura? ¿Hay algún peligro de seguridad que deba conocer? Cualquier entrada en esta solución vs cookie + token de base de datos sería genial.

Respuestas a la pregunta(3)

Su respuesta a la pregunta