web-dev-qa-db-fra.com

Quel est le but d'avoir un jeton dans les cookies?

WordPress utilise des cookies pour une meilleure sécurité. J'essaie de comprendre comment cela pourrait rendre un site Web WordPress plus sécurisé. J'ai trouvé cet article . Il y a une bonne explication, mais elle concerne la version 3.9, elle est donc un peu dépassée.

J'ai comparé les sources du code WordPress actuel et des exemples de l'article. Il y a une chose que je ne comprends pas.

Le cookie ressemblait à ceci:

Set-Cookie: wordpress_urlhash=user|timestamp|hash

Dans cet article, le gars a dit que nous pouvons prédire wordpress_urlhash, user, timestamp et aussi le hash, donc toute la chaîne de cookie, mais uniquement lorsque nous n'avons pas implémenté les clés/sels uniques.

Le problème est que le cookie était un peu différent de celui que nous utilisons maintenant - il n'avait pas le token:

Set-Cookie: wordpress_urlhash=user|timestamp|token|hash

Est-ce que quelqu'un sait pour quoi le jeton a été introduit et s'il est prévisible? Quel est le but de cela parce que nous avons les clés/sels uniques, n'est-ce pas?

6
Mikhail Morfikov

Selon la documentation de la classe WP_Session_Tokens , ce jeton est utilisé pour valider la session de l'utilisateur. Pour ce faire, il vérifie le jeton fourni par rapport aux jetons de session existants stockés dans la table méta de l'utilisateur pour cet utilisateur.

Les jetons de session sont générés à l'aide de la fonction wp_generate_password et comportent 43 caractères. Donc non, cela ne devrait pas être prévisible.

Vous pouvez consulter la source pour en savoir plus sur comment les jetons de session sont créés et comment les cookies sont vérifiés .

1
dancriel