Maison > Article > développement back-end > Comment garder l'utilisateur connecté en php
Comment garder l'utilisateur connecté en PHP
1 Modifiez les informations utilisateur, telles que ['uid'=>123. , 'username Le tableau de '=>'testuser'] est sérialisé en une chaîne. La chaîne est cryptée à l'aide d'un algorithme de cryptage réversible et écrite dans un COOKIE avec la clé userinfo.
2. Puisque l'algorithme de cryptage réversible est facile à déchiffrer, une fois que les règles de cryptage sont devinées par d'autres, ils peuvent facilement falsifier le contenu de ce COOKIE, puis le crypter selon les règles de cryptage et ensuite le falsifier. il.
Nous ajoutons donc un autre infodig COOKIE, qui consiste à ajouter le contenu userinfo COOKIE ci-dessus au sel et à utiliser un algorithme de cryptage irréversible pour générer un hachage. Quant au sel, nous pouvons le décider nous-mêmes. , il doit être gardé secret de l'extérieur. L'algorithme irréversible Par exemple, md5, ou même md5 avec du sel plusieurs fois.
3. Pour les deux COOKIES ci-dessus, afin d'améliorer la sécurité et d'empêcher les utilisateurs d'être obtenus par des attaques XSS, vous pouvez définir l'attribut http uniquement.
Une fois que le serveur a déterminé que les deux COOKIES ci-dessus existent
1. Vérifiez si l'infodig correspond aux informations utilisateur (après avoir calculé le contenu des informations utilisateur à l'aide de la méthode de génération d'infodig, et COOKIE Si l'infodig téléchargée correspond à la même)
2. Une fois la vérification de l'infodig réussie, utilisez l'algorithme de décryptage pour décrypter la chaîne userinfo afin d'obtenir les informations utilisateur si l'uid dans les informations utilisateur existe dans l'utilisateur. tableau, écrivez SESSION et conservez-le jusqu'à SESSION Résumé de cette session
:
Il est possible d'utiliser COOKIE pour enregistrer les informations de l'utilisateur (bien sûr, ce n'est pas recommandé). pour stocker des éléments sensibles à l'utilisateur dans COOKIE, tels que l'e-mail, le téléphone portable et même les mots de passe, enregistrez uniquement les parties utiles pour la connexion, telles que l'uid, le nom d'utilisateur et d'autres identifiants, et le surnom peut améliorer l'expérience utilisateur à certains endroits) . Ce qui est sûr, c'est que ce COOKIE est visible par l'utilisateur. Ce que nous devons faire, c'est deux choses :
1. Essayer de le rendre difficile à comprendre pour les utilisateurs, et seul notre serveur le connaît (chiffrement réversible. algorithme)
2. Même si l'utilisateur le comprend, il ne peut pas le falsifier facilement (algorithme de cryptage irréversible) Algorithme de colonne)
Tutoriel recommandé : Tutoriel vidéo PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!