源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

node.js cookie-parser之parser.js

  • 时间:2020-07-03 08:49 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:node.js cookie-parser之parser.js
cookie-parser的作用,官方的说法是:Parse Cookie header and populate req.cookies with an object keyed by the cookie names.我的理解是,转换headers中的cookie并跟req.cookies合并。作为cookie-parser的核心,parser提示了2个函数:signedCookies和JSONCookies,以及它们的帮助函数。 [b]此文到这里也就结束了这个插件,让我们来回顾一下,同时也打开了下一篇关于session的学习。[/b] cookie-parser从客户端取cookie,然后经过express-session(以express为本)的处理。在客户端表示为一个签名后的字符串,在服务端,由于使用了unsign方法,所以能看到解签过的字符。这样一来,所有的迷底都解开了。我们来看看session那段处理cookie的代码吧。 
[u]复制代码[/u] 代码如下:
function setcookie(res, name, val, secret, options) {   var signed = 's:' + signature.sign(val, secret);   // ....省略     res.setHeader('set-cookie', header) }
[b]此处利用set-cookie写入cookie。当客户端发送cookie,此时就用到了parser.js的signedCookies。[/b] 
[u]复制代码[/u] 代码如下:
exports.signedCookies = function(obj, secret){   var cookies = Object.keys(obj);   var dec;   var key;   var ret = Object.create(null);   var val;     for (var i = 0; i < cookies.length; i++) {     key = cookies[i];     val = obj[key];       dec = exports.signedCookie(val, secret);       if (val !== dec) {       ret[key] = dec;       delete obj[key];     }   }     return ret; };   exports.signedCookie = function(str, secret){   return str.substr(0, 2) === 's:'     ? signature.unsign(str.slice(2), secret)     : str; };
在帮助函数signedCookie中,当发现含有s:开始则是签名过的cookie,这时就用了signature.unsign解签。下次,让我们来研究一下session。 以上就是node.js cookie-parser之parser.js的全部内容,希望能给大家一个参考,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部