zoukankan      html  css  js  c++  java
  • node.js cookie和session

    express:
    1.数据
    2.中间件

    --------------------------------------------------------------------------------------------------------------

    http-无状态的

    cookie、session

    cookie:在浏览器保存一些数据,每次请求都会带过来
    *不安全、有限(4K)

    session:保存数据,保存在服务端
    *安全、无限

    --------------------------------------------------------------------------------------------------------------

    session:基于cookie实现的
    *cookie中会有一个session的ID,服务器利用sessionid找到session文件、读取、写入

    隐患:session劫持

    --------------------------------------------------------------------------------------------------------------

    cookie
    1.读取——cookie-parser
    2.发送——

    session
    cookie-session

    --------------------------------------------------------------------------------------------------------------

    cookie:
    1.cookie空间非常小——省着用
    2.安全性非常差

    1.精打细算
    2.校验cookie是否被篡改过

    a.发送cookie
    res.secret='字符串';
    res.cookie(名字, 值, {path: '/', maxAge: 毫秒, signed: true});

    b.读取cookie
    cookie-parser

    server.use(cookieParser('秘钥'));

    server.use(function (){
    req.cookies 未签名版
    req.signedCookies 签名版
    });

    c.删除cookie
    res.clearCookie(名字);

    --------------------------------------------------------------------------------------------------------------

    cookie-parser
    cookie-encrypter

    --------------------------------------------------------------------------------------------------------------

    session:
    cookie-session

    1.写入
    2.读取

    session劫持

    --------------------------------------------------------------------------------------------------------------

    cookie-session

    server.use(cookieParser());
    server.use(cookieSession({
    keys: [.., .., .., ..]
    }));

    server.use('/', function (){
    req.session
    });

    delete req.session

    --------------------------------------------------------------------------------------------------------------

    1.cookie-存在浏览器,4K,不安全
    签名、加密

    2.session-存在服务器
    不能独立存在,基于cookie

    --------------------------------------------------------------------------------------------------------------

    server.use(cookieParser('签名字符串'));
    server.use(cookieSession({

    }));

    server.use(function (req, res){
    res.cookie(名字, 值, {signed: true});

    res.cookies['user']
    res.clearCookie('名字');

    res.session['xxx']
    delete res.session['xxx'];
    });

    --------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    oracle数据库导入导出命令!
    windows 7资源管理器崩溃解决方法
    迅雷和vs 2010的冲突
    当前网页正在试图打开您的受信任的站点列表中的站点,招人烦的alimama和淘宝
    <xhtmlConformance mode="Legacy"/>时,UpdatePanel会失效。
    头回遇见网上找不到的问题,“缺少实例ID,实例ID是必需的”
    修改基础表后,刷新关联视图的两种方法
    关于PetShop的一些记录。
    Linux poll机制分析
    volatile原理与技巧
  • 原文地址:https://www.cnblogs.com/patriot/p/7269504.html
Copyright © 2011-2022 走看看