当前位置: 首页 > news >正文

软件测试网站开发网站建设产品介绍

软件测试网站开发,网站建设产品介绍,做网站好用的软件,wordpress图片集插件文章目录 1. 会话介绍2. cookie 相关操作2.1 cookie 设置2.2 删除 cookie2.3 获取cookie 3. session 相关操作4. cookie 和session 的区别5. 补充知识 -- CSRF跨站请求伪造6. token 1. 会话介绍 所谓会话控制就是对会话进行控制 HTTP是一种无状态的协议,它没有办法…

文章目录

  • 1. 会话介绍
  • 2. cookie 相关操作
    • 2.1 cookie 设置
    • 2.2 删除 cookie
    • 2.3 获取cookie
  • 3. session 相关操作
  • 4. cookie 和session 的区别
  • 5. 补充知识 -- CSRF跨站请求伪造
  • 6. token

1. 会话介绍

所谓会话控制就是对会话进行控制
HTTP是一种无状态的协议,它没有办法区分多次的请求是否来自于同一个客户端,无法区分用户
而产品中又大量存在的这样的需求,所以我们需要通过会话控制来解决该问题
常见的会话控制技术有三种:

  • cookie
  • session
  • token

2. cookie 相关操作

2.1 cookie 设置

const express = require('express')const router = express()router.get('/set-cookie', (req, res) => { res.cookie('name', 'qingtian')res.send('success')
})router.listen(3000,() => {console.log('go');
})

这种创建路由规则的方式,在浏览器全部窗口关闭之后就不会再出现cookie 值;

七天之内免登录效果:

        res.cookie('name','lisi',{maxAge:30*1000})// maxAge 单位为ms

这种创建路由规则的方式在达到maxAge 时cookie 值才会消失。

2.2 删除 cookie

// 删除cookie 
router.get('/del-cookie', (req, res) => {res.clearCookie('name')res.send('删除成功')
})

2.3 获取cookie

// 获取cookie
router.get('/get-cookie', (req, res) => {console.log(req.cookies);res.send('获取成功')
})

3. session 相关操作

  1. 设置session
const express = require('express')
const session = require('express-session')
const MongoStore = require('connect-mongo')const router = express()router.use(session({name: 'sid',secret: 'atguigu',// 参与加密的字符串 也叫做加盐 、签名saveUninitialized: false,// 是否为每次请求都设置一个cookie用来存储session的idresave: true, //是否在每次请求时重新保存sessionstore: MongoStore.create({mongoUrl: 'mongodb://127.0.0.1:27017/test' //数据库的连接配置}),cookie: {httpOnly: true, // 开启后前端无法通过 JS 操作maxAge: 1000 * 300 // 这一条 是控制 sessionID 的过期时间的!!!},
}))// 设置session
router.get('/set-session', (req, res) => {req.session.username = 'wangwu'res.send('设置session')
})router.listen(3000, () => {console.log('go');
})
  1. 获取session
// 获取session
router.get('/get-session', (req, res) => {console.log(req.session.username);if (req.session.username) {res.send(`你好${req.session.username}`)} else {res.send('登录 注册')}
})
  1. 销毁session
// 销毁session
router.get('/del-session', (req, res) => {req.session.destroy(() => {res.send('销毁session')})
})

4. cookie 和session 的区别

cookie和session的区别主要有如下几点:

  1. 存在的位置
  • cookie: 浏览器端
  • session: 服务端
  1. 安全性
  • cookie是以明文的方式存放在客户端的,安全性相对较低
  • session存放于服务器中,所以安全性相对较好
  1. 网络传输量
  • cookie设置内容过多会增大报文体积,会影响传输效率
  • session数据存储在服务器,只是通过cookie 传递id,所以不影响传输效率
  1. 存储限制
  • 刘览器限制单个cookis保存的数据不能超过4K,且单个域名下的存储数量也有限制
  • session数据存储在服务器中,所以没有这些限制

5. 补充知识 – CSRF跨站请求伪造

现有A,B两个网站,如果B网站发送了一个A网站内部的请求(比如退出登陆操作),那么就出现了CSRF跨站请求伪造;此时对A网站造成了影响,这是我们可以将退出登录的get 请求改为post 请求

6. token

JWT(JSON Web Token)是目前最流行的跨域认证解决方案,可用于基于token的身份验证
JWT使token的生成与校验更规范
我们可以使用jsonwebtoken 包来操作token

const jwt = require('jsonwebtoken')// 生成token
let token = jwt.sign({username:'zhangsan'
}, 'atguigu', {expiresIn:60,// 单位为s
})console.log(token);// 校验token
let t = jwt.verify(token, 'atguigu', (err, data) => {if (err) {console.log('校验失败');}console.log(data);
})
http://www.hkea.cn/news/238854/

相关文章:

  • 网站建设服务怎么样近期国内热点新闻事件
  • 阿里巴巴网站国际站建设seo托管服务
  • 企业网站优化之如何做需求分析网奇seo赚钱培训
  • 施工企业会计制度收入确认规定百度自然排名优化
  • 校园网站建设意义网络营销的特点有哪些
  • 内江做网站哪里便宜google搜索关键词热度
  • 福建省建设银行招聘网站网络推广员压力大吗
  • 动态网站订单怎么做搜索引擎优化营销
  • html5行业网站最近有哪些新闻
  • 做网站业务的怎么寻找客户在哪里打广告效果最好
  • 广东深圳seo服务内容
  • 做网站怎么备案网络服务有限公司
  • 网站主页特效欣赏百度官网下载电脑版
  • php mysql开发网站开发任何小说都能搜到的软件
  • the7 wordpress主题宁波seo外包费用
  • 云南建筑培训网seo刷点击软件
  • 男女做暖网站h5页面制作平台
  • 可以做puzzle的网站百度关键词排名提升工具
  • 竞网网站建设南宁网站seo大概多少钱
  • 114黄页信息网宝鸡seo培训
  • 东南亚做棋牌网站挖掘爱站网
  • 中国工程建设招标网官方网站谷歌查询关键词的工具叫什么
  • wordpress管理员密码忘记成都seo招聘
  • 武汉企业建站系统模板下载官方正版百度
  • 上海做网站国际财经新闻
  • 用废旧盒子做家用物品网站seo排名工具
  • 企业铭做网站域名解析在线查询
  • 怎么注册自己的小程序网站优化分析
  • 荆州网站建设流程网站设计培训
  • 网站支付怎么做的seo职业技能培训班