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'];
    });

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

  • 相关阅读:
    【图片垂直居中】解决方案
    【透明、半透明】3中解决方案
    HTML5 Canvas 2D 绘图
    Java 连接 timesten
    使用Oracle SQL Developer连接timesten
    Python核心数据类型——文件
    Windows 下 Dropbox + Git 构建分布式多人协作版本控制系统
    Python核心数据类型——字典
    Python核心数据类型——元组
    Linux + Apache + MySQL 环境下OSQA部署
  • 原文地址:https://www.cnblogs.com/patriot/p/7269504.html
Copyright © 2011-2022 走看看