MD5 ya no se considera seguro; considere usar el hash de contraseña integrado más nuevo de PHP con el algoritmo bcrypt que tiene una complejidad computacional variable:PHP password_hash()
y password_verify()
.
Idealmente, usaría una sesión de PHP para mantener el estado durante una sola visita, y si desea tener una opción de "recordar mi inicio de sesión", usaría una cookie que contenga suficiente información para autenticar a un usuario que regresa y reiniciar una nueva sesión. . Hay un buen artículo de 2004 sobre las mejores prácticas con respecto a las cookies de inicio de sesión aquí:Persistent Login Cookie Best Practica . También podría estar interesado en una solución más moderna (2015) para implementación segura de casillas de verificación "recordarme" .
Aparte de estos, creo que todo lo que has descrito está bien.