zoukankan      html  css  js  c++  java
  • 设置cookie,读取cookie案例

    const express = require("express");
    const app = express();
    const port = 3000;
    const cookieParser = require("cookie-parser");
    app.use(cookieParser("test"));
    // 设置cookie
    app.get("/set", function(req, res) {
      res.cookie("name", "王金龙", { maxAge: 1000 * 5 });
      res.cookie("name2", "张三", { signed: true });
      res.send("cookie设置成功");
    });
    // 获取cookie
    app.get("/get", function(req, res) {
      // 没有设置签名可以使用 cookies访问cookie
      res.send(req.cookies);
      // 设置签名之后就需要使用 signedCookies访问cookie
      console.log(JSON.stringify(req.signedCookies));
    });
    app.listen(port, () => console.log("http://127.0.0.1:3000"));
    

    会话技术

    cookie

    cookie-parser

    作用:方便操作客户端中的cookie值。

    安装

    cookie-parser第三方cookie操作模块

    npm install cookie-parser --save

    引入

    const cookieParser = require('cookie-parser');
    app.use(cookieParser('123456')); //使用cookie中间件,传入签名123456进行加密

    设置cookie,需要设置signed签名

    res.cookies('key','value',option)

    其中option要求是要json格式:有以下选项

    • domain: 域名。设置子域名(二级域名)是否可以访问cookie。 例:domain:'.主域名' name=value:键值对,可以设置要保存的 Key/Value,注意这里的 name 不能和其他属性项的名字一样

    • expires: 过期时间(秒),在设置的某个时间点后该 Cookie 就会失效,如 expires=Wednesday, 09-Nov-99 23:12:40 GMT

    • maxAge: 最大失效时间(毫秒),设置在多少后失效

    • secure: 当 secure 值为 true 时, cookie 在 HTTP 中是无效,在 HTTPS 中才有效

    • path: 表示 cookie 影响到的路由,如 path=/。如果路径不能匹配时,浏览器则不发送这个 Cookie

    • httpOnly:默认为false,建议设置为true, 客户端将无法通过document.cookie读取到 COOKIE 信息,可防止 XSS 攻击产生

    • signed: 表示是否签名(加密) cookie, 设为 true 会对这个 cookie 签名,这样就需要用res.signedCookies 访问它,前提需要设置上面中间件app.use传参 。未签名则用 res.cookies 访问

    • 被篡改的签名 cookie 会被服务器拒绝,并且 cookie值会重置为它的原始值

      res.cookie('cart', { items: [1,2,3] }, { maxAge: 10000*4,signed:true,httpOnly:true });
      res.cookie('username', "caae", { maxAge: 10000*2,signed:true});
      res.cookie('age', "大白",{ maxAge: 10000*3,signed:true }); 

    获取cookie

        console.log(req.signedCookies);
        console.log(req.signedCookies.cart);
        console.log(req.signedCookies.username);
        console.log(req.signedCookies.age);

    删除cookie

    res.cookie('username', '大白', { maxAge:0 });
  • 相关阅读:
    File Size(4.12)
    Ownership of New Files and Directories(4.6)
    Changing User IDs and Group IDs & How saved setuserid works (8.11)
    Windows 下硬盘安装linux 系统
    access Function(4.7)
    File Access Permissions(4.5)
    link, unlink, remove, and rename Functions(4.15)
    文件特殊权限: SUID, SGID, SBIT
    ASP.NET与DreamweaverMx结合
    sqlserver的几个函数要记录
  • 原文地址:https://www.cnblogs.com/wjlbk/p/12633352.html
Copyright © 2011-2022 走看看