cookie 的设置与获取及删除

写了好多demo可是一直没有记录,怕忘记的时候找不到,所以决定发上来。

const express=require("express");
const cookieParser=require("cookie-parser");
var server=express();
server.use(cookieParser('we5tfrtf7ytg'));
server.use('/bbb',function (req,res) {
      req.secret='we5tfrtf7ytg';
      res.cookie('user','hong',{signed:true});
      console.log('不签名的:',req.cookies);
      console.log('签名的:',req.signedCookies);
    res.send("ok");
});
server.listen(8090);
image.png

终端打印如下:


image.png

总结

cookie是不安全的,所以在设置cookie时,可以给它添加签名以防止篡改,在获取cookie时需要用到中间件cookie-parser,一般会有两种类型的cookie:
1.不带签名的,这时候用req.cookies获取
2.带签名的,这时候用req.signedCookies获取,且需要把秘钥传给cookieParser
为什么不给所有cookie设置签名呢?设置完签名的cookie明显会变大,因为cookie有大小限制(4k),在使用cookie的时候要省着用。所以普通的信息还是不用签名。
3.删除cookie(res.clearCookie("名字"))

const express=require("express");
const cookieParser=require("cookie-parser");
var server=express();
server.use(cookieParser('we5tfrtf7ytg'));
server.use('/bbb',function (req,res) {
     res.clearCookie("user");//删除cookie
    res.send("ok");
});
server.listen(8090);

你可能感兴趣的:(cookie 的设置与获取及删除)