J'essaie de comprendre ce que sont réellement les «cookies signés». Il n'y a pas grand chose sur le net, et si j'essaye ceci:
app.use(express.cookieParser('A secret'));
Mais quand même ... Les cookies sont toujours 100% normaux sur le navigateur, et je ne sais pas vraiment ce que «signé» est ici (j'espérais en quelque sorte «voir» une certaine bizarrerie sur le client, quelque chose comme les données cryptées en utilisant "Un secret" comme du sel?)
La documentation dit ( https://github.com/expressjs/cookie-parser ):
Analyser l'en- tête de cookie et remplir
req.cookies
avec un objet saisi par les noms de cookie. Si vous le souhaitez, vous pouvez activer la prise en charge des cookies signés en passant unesecret
chaîne, qui l'assignereq.secret
afin qu'elle puisse être utilisée par d'autres intergiciels.
Est-ce que quelqu'un sait?
Merc.
express.cookieParser()
?res.cookie('somethingElseAgainAndAgain', 'signed? Maybe' );
mais ... je doute que ce soit le signe! L'intergiciel cookieParser () est-il prêt à analyser les cookies signés, mais je ne fais certainement pas le réglage correctement ... dois-je les signer manuellement ...?(res.cookie(name, value, { signed: true }))
. Signaler le "détail" manquant dans la documentation ...If it does not match, then it will give an error.
Pas une erreur . Seul le request.signedCookie pour cette clé n'est pas défini . Donc plus comme ignoréOuais, comme emostar mentionne que c'est simplement pour s'assurer qu'une valeur n'a pas été falsifiée. Il est placé dans un objet différent (req.signedCookies) pour différencier les deux, permettant au développeur d'afficher l'intention. S'ils étaient stockés dans req.cookies avec les autres, quelqu'un pourrait simplement créer un cookie non signé du même nom, ce qui irait à l'encontre de leur objectif.
la source
J'ai cherché assez longuement une bonne réponse à cette question ... Et en regardant le code source de
cookie-signature
, qui est utilisé parcookie-parser
pour signer les cookies signés, m'a donné une meilleure compréhension de ce qu'est un cookie signé.val
est bien sûr la valeur du cookie, etsecret
est la chaîne que vous ajoutez comme option àcookie-parser
https://github.com/visionmedia/node-cookie-signature/blob/master/index.js#L16
la source
J'ai utilisé la version 1.4.4 de cookie-parser.
Je pourrais ajouter des cookies signés et des cookies signés cryptés dans le navigateur.Si j'essaie de modifier le cookie signé à l'aide de editThisCookie (plugin chrome), alors le cookie-parser détecte les changements externes, puis définit false comme valeur.
En-tête de réponse dans le navigateur, apparaît comme
Obtenez un cookie signé
https://gist.github.com/dineshbalaji/607d166f0240f932a5cb02099b0ece4c
la source