Mysql
 sql >> Base de données >  >> RDS >> Mysql

Principes de base d'un système de mémorisation

Il existe plusieurs méthodes pour cela. Un sécurisé méthode serait d'ajouter un champ à la table utilisateur mysql et d'avoir un hachage "remember_me" qui est juste un hachage aléatoire généré.

Le hachage doit être stocké dans un cookie sur l'ordinateur de l'utilisateur ainsi que l'ID utilisateur à des fins de validation pendant toute la durée de la période de mémorisation (vous devez également définir la période de mémorisation dans la base de données en tant qu'horodatage également pour plus de sécurité). Lorsqu'ils consultent votre site, vous voyez si ce cookie est défini, si c'est le cas, vous authentifiez simplement le hachage sur l'ID utilisateur. S'il valide, ils sont considérés comme connectés. S'il ne valide pas, alors envoyez-les vers une page de connexion / ils ne sont pas considérés comme connectés.

C'est ainsi que j'ai configuré la plupart de mes sites. La douleur est que s'ils se connectent à partir d'un autre ordinateur, ils ne sont plus validés sur l'ordinateur qu'ils utilisaient et devront se ré-authentifier. Mais la sécurité, pour moi, est plus importante que de devoir se reconnecter à cause de cette situation.

EDIT :Voir les commentaires ci-dessous pour des informations supplémentaires concernant les sessions / la sécurité.