คำแถลงอย่างเป็นทางการเกี่ยวกับบทบาทของคุกกี้-Parser คือ: Parse Cookie Header และ REQ.Cookies ยอดนิยมพร้อมวัตถุที่มีชื่อคีย์โดยชื่อคุกกี้ ความเข้าใจของฉันคือการแปลงคุกกี้เป็นส่วนหัวและรวมเข้ากับ req.cookies ในฐานะที่เป็นแกนหลักของคุกกี้-Parser ตัวแยกวิเคราะห์ได้รับฟังก์ชั่น 2 ฟังก์ชั่น: SignedCookies และ Jsoncookies รวมถึงฟังก์ชั่นผู้ช่วยของพวกเขา
บทความนี้สิ้นสุดปลั๊กอินนี้ที่นี่ ลองตรวจสอบและเปิดบทความถัดไปเกี่ยวกับการเรียนรู้เซสชัน
Cookie-Parser ดึงคุกกี้จากไคลเอนต์แล้วผ่านการแสดงด่วน (Express-based) บนไคลเอนต์จะแสดงเป็นสตริงที่ลงนาม บนเซิร์ฟเวอร์เนื่องจากใช้วิธีการที่ไม่ได้ลงนามคุณสามารถดูอักขระที่ไม่ได้ลงนามได้ ด้วยวิธีนี้ความลึกลับทั้งหมดจะคลี่คลาย มาดูรหัสเซสชันที่จัดการกับคุกกี้
การคัดลอกรหัสมีดังนี้: ฟังก์ชั่น setcookie (res, ชื่อ, val, ความลับ, ตัวเลือก) {
var signed = 's:' + signature.sign (val, secret);
// .... ละเว้น
Res.Setheader ('Set-Cookie', ส่วนหัว)
-
ที่นี่ Set-Cookie ใช้ในการเขียนคุกกี้ เมื่อลูกค้าส่งคุกกี้จะใช้คุกกี้ที่ลงนามของ parser.js
การคัดลอกรหัสมีดังนี้: exports.signedCookies = function (obj, Secret) {
var cookies = object.keys (obj);
var dec;
คีย์ var;
var ret = object.create (null);
var val;
สำหรับ (var i = 0; i <cookies.length; i ++) {
key = คุกกี้ [i];
val = obj [คีย์];
Dec = Exports.signedCookie (Val, Secret);
ถ้า (val! == ธ.ค. ) {
ret [คีย์] = ธ.ค. ;
ลบ obj [คีย์];
-
-
ผลตอบแทนผลตอบแทน;
-
exports.signedCookie = function (str, secret) {
return str.substr (0, 2) === 's:'
- Signature.unsign (Str.slice (2), Secret)
: str;
-
ในฟังก์ชั่นความช่วยเหลือ SignedCookie เมื่อพบว่ามันมี S :, มันเป็นคุกกี้ที่ลงนามแล้วจากนั้นจะถูกลงนามด้วยลายเซ็นไม่ได้ ครั้งต่อไปลองดูที่เซสชั่น
ด้านบนเป็นเนื้อหาทั้งหมดของ node.js cookie-parser parser.js ฉันหวังว่ามันจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น