Node个人学习(四)----后台中的cookie和session

cookie(需要cookie-parser): 在浏览器保存一些数据,每次请求都会带过来

     特点:1、空间小

             2、安全性差

             3、cookie可以在垂直读取,上级目录读取下级目录。

     使用:1、使用时精打细算

             2、对cookie进行安全保护,至少能校验cookie是否被篡改过

             读取与解签名 签名和没有签名过的cookie需要通过不同的方法读取。

//导入读取模块
const cookieParser=require('cookie-parser');

//执行中间件,在cookieParser中输入签名密钥进行解签名 server.use(cookieParser('sadsadwdewef'));

//使用req.cookies获取cookie信息 server.use('/aaa/a.html',function(req,res){
res.send('这里面只有签名过的cookie: ',req.signedCookies) res.send('这里面只有没有签名过的coolie:',req.cookies); })

              发送cookie:使用res.cookie直接设置cookie。

server.use('/',function(req,res){
	//对cookie的设置必须放在send()之前,否则会报错!
	res.cookie('user1','xiao1',{path:'/aaa',maxAge:7*24*3600*1000}); 
	res.send('ok!');
	res.end();
});

              删除cookie:

res.clearCookie(名字);

              加密:使用签名来防止cookie被修改

                       缺点:1、cookie值依然能被看到。

                               2、读取签名过的cookie必须进行解签。

                               3、增加cookie大小,浪费空间。

//自定义字符串来创建密钥。
req.secret='xuaiooasu65hg66';
//使用signed来确认对信息进行签名。 res.cookie('user1','xiao1',{signed:true});

  


 

session(需要cookie-session):保存数据,保存在服务端---------------------------*安全、无限(服务器空间)

              session是基于cookie实现的,当用户访问时服务器会给予用户一个默认名为session的cookie,在后续的访问中服务器会利用这个cookie找到session文件,进行读取、写入操作。

              隐患:session劫持

                       在cookie中,除了session外,还有一个名为session.sig的cookie存在,它是session的签名,用来保护session不被篡改。

              属性:session中可以自主设置的session属性

server.use(cookieSession({
	//手动设置session名
	name:'sess',
	//手动设置session密钥
	keys:['aaa','bbb','ccc'],
	//手动设置session过期时间,单位为毫秒
	maxAge:30*60*1000
}));

              读取:

//导入需要模块
const cookieSession=require('cookie-session');
//使用中间件在req中添加session属性
server.use(cookieSession());

server.use('/',function(req,res){
        //输出session数据
	console.log(req.session);
})

              加密:使用keys数组来加密session,数组中密钥循环使用,加大破解难度

server.use(cookieSession({
	keys:['aaa','bbb','ccc']
}));

              删除:delete req.session

posted on 2017-05-09 11:13  肖小波  阅读(2360)  评论(0编辑  收藏  举报

导航