Ich versuche herauszufinden, was "signierte Cookies" eigentlich sind. Es gibt nicht viel im Netz, und wenn ich das versuche:
app.use(express.cookieParser('A secret'));
Aber trotzdem ... Cookies sind im Browser immer noch zu 100% normal, und ich weiß nicht wirklich, was "signiert" hier ist (ich hatte gehofft, auf dem Client etwas Seltsames zu "sehen", so etwas wie die mit verschlüsselten Daten "Ein Geheimnis" als Salz?)
In der Dokumentation heißt es ( https://github.com/expressjs/cookie-parser ):
Analysieren Sie den Cookie- Header und füllen Sie ihn
req.cookies
mit einem Objekt, das durch die Cookie-Namen gekennzeichnet ist. Optional können Sie die Unterstützung für signierte Cookies aktivieren, indem Sie einesecret
Zeichenfolge übergeben, die zugewiesen wird,req.secret
damit sie von anderer Middleware verwendet werden kann.
Weiss es jemand?
Merc.
express.cookieParser()
?res.cookie('somethingElseAgainAndAgain', 'signed? Maybe' );
aber ... ich bezweifle, dass das unterschrieben wird! Die Middleware cookieParser () ist bereit, signierte Cookies zu analysieren, aber ich mache die Einstellung definitiv nicht richtig ... muss ich sie manuell signieren ...?(res.cookie(name, value, { signed: true }))
. Meldung des fehlenden "Details" aus der Dokumentation ...If it does not match, then it will give an error.
Kein Fehler . Nur die request.signedCookie für diesen Schlüssel ist nicht festgelegt . Also eher ignoriertJa, wie Emostar erwähnt, ist es einfach sicherzustellen, dass ein Wert nicht manipuliert wurde. Es wird in einem anderen Objekt (req.signedCookies) platziert, um zwischen den beiden zu unterscheiden, sodass der Entwickler seine Absicht zeigen kann. Wenn sie zusammen mit den anderen in req.cookies gespeichert würden, könnte jemand einfach ein nicht signiertes Cookie mit demselben Namen erstellen und den gesamten Zweck von ihnen zunichte machen.
quelle
Ich habe für eine gute Antwort auf diese ziemlich umfangreich gesucht ... und Blick auf den Quellcode
cookie-signature
, die von verwendet wird ,cookie-parser
die signierten Cookies zu unterschreiben haben mir ein besseres Verständnis von dem, was ein signiertes Cookie ist.val
ist natürlich der Wert des Cookies undsecret
die Zeichenfolge, die Sie als Option hinzufügencookie-parser
https://github.com/visionmedia/node-cookie-signature/blob/master/index.js#L16
quelle
Ich habe den Cookie-Parser 1.4.4 verwendet.
Ich könnte signierte Cookies und signierte Cookies hinzufügen, die im Browser verschlüsselt sind. Wenn ich versuche, signierte Cookies mit editThisCookie (Chrome-Plugin) zu bearbeiten, erkennt der Cookie-Parser externe Änderungen und setzt dann false als Wert.
Der Antwortheader im Browser wird als angezeigt
Holen Sie sich signierte Cookie
https://gist.github.com/dineshbalaji/607d166f0240f932a5cb02099b0ece4c
quelle