nodejs学习cookie和session

1、cookie

    在浏览器保存一些数据,每次向服务器发起请求是都携带

                不安全,用户可以修改

                大小为4k

2、session

    与cookie作用一致,用来保存一些数据,只是保存在服务端,

                相对安全,用户不可修改,基于cookie实现

                    session_id 存放在cookie中        导致存在隐患:session劫持

3、使用cookie

            发送cookie

                    res.cookie("name","123456",{path:"./cookie",maxAge:30*24*3600*1000});//path哪些页面可以使用cookie

                    res.send("ok");

                        cookie可以设置以下几个选项

                                         domain:控制和cookie相关的域名

                                          path:应用这个cookie的路径

                                          maxAge:保存多久

                                          secure:指定这个cookie只通过https连接发送

                                          httpOnly:表明这个cookie只能有服务器修改,客服端不能修改

                                          signed设置为true事表示这个cookie会被签名

            读取cookie

                    const cookieParser = require("cookieParser");

                    server.use(cookieParser());

                    console.log(req.cookies);//cookie可以向上解析  上一级目录可以访问

            对cookie加密

                        req.secret = "123456";

                        req.cookie("name","123456",{signed:true});//对cookie实行签名

            删除cookie

                        res.clearCookie("user");

          4、使用session

                    使用

                                const cookieSession = require("cookie-session");

                                server.use(cookieSession({

                                        keys:["111","3333","2222"],

                                        }));//除此之外还有store:回话存储的实例,如何存储session

                                                                          cookie 回话cookie的cookie设置

                                

                            删除session

                                    delete res.session[""];

5、通过cookie实现

            

app.get('/', function (req, res) {
  // 如果请求中的 cookie 存在 isVisit, 则输出 cookie
  // 否则,设置 cookie 字段 isVisit, 并设置过期时间为1分钟
  if (req.cookies.isVisit) {
    console.log(req.cookies);
    res.send("再次欢迎访问");
  } else {
    res.cookie('isVisit', 1, {maxAge: 60 * 1000});
    res.send("欢迎第一次访问");
  }
});

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值