前端-全栈

cookie加密

2021-05-17  本文已影响0人  光明程辉

上一节简单介绍怎么使用express框架。那么这小节,我们学习新的东西,cookie的一些常用操作。
cookie可以临时存储的特点,由服务端提供给前端的一个简单的数据。

express中使用:

res.cookie(key,value,{path:'/mylouteraddress',maxAge:毫秒})

注:path代表地址,浏览器里的地址。
我们在express框架里可以使用一个 cookie-parser 中间件来处理。

cookie-parser

var express = require('express');
var static = require('express-static');
var cookieParser = require('cookie-parser');

var server = express();
server.listen(2573);
//server.use(cookieParser('asdfghjklpoieuwy3719edheu'));// 使用中间件
server.use('',function(req,res,next){
    //res.cookie('test','Anny');
    var json = req.cookies;
    //for(var i in json){
    //  res.clearCookie(i);// 清空
    //}
    req.secret = 'asdfghjklpoieuwy3719edheu';// 加密
    res.cookie('test','Anny',{signed:true}); // signed:true 加密
    res.send('ok');

    //res.cookie('test','Anny',{maxAge:365*24*3600*1000});
    //res.cookie('password','123456',{maxAge:365*24*3600*1000});
    //res.send('ok');
    //next();
});

signed:true 时,在浏览器查看cookie时密码是乱码,达到了我们的要求。
由于是可逆的,我们也可以还原:

server.use(cookieParser('asdfghjklpoieuwy3719edheu'));// 使用中间件

总结:
cookie虽然存储方便,但是也要注意数据的安全性,对于比较敏感的数据,我们通常建议保存在服务端,给cookie加密,给cookie添加时间限制,例如超过多久就失效或自动删除key等.

下一小节我将分享下 jade 模板。

上一篇 下一篇

猜你喜欢

热点阅读