• session、cookie、token的区别


    从安全性优先级来说:

    1、优先级

    Cookie<session<token

    2、 安全性

    Cookie:

    ①cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session

    ②HTTP是一种无状态协议,服务器没有办法单单从网络连接上面知道访问者的身份,为了解决这个问题,就诞生了Cookie

    Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie

    客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。

    session:

    ①     session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie

    ②     关闭浏览器不会关闭session,它具失效日期,失效后服务器认为客户端停止了活动,并删除session以节省空间

    Token:

    ①  作为身份认证 token安全性比session好,因为每个请求都有签名还能防止监听以及重放攻击

    ②  Oauth token提供的是认证和授权,认证针对用户,授权针对app

    ③  token的生成一般是采用uuid保证唯一性,当用户登录时为其生成唯一的token,存储一般保存在数据库中。token过期时间采用把token二次保存在cookie或session里面,根据cookie和session的过期时间去维护token的过期时间

    开发过程举例:

    案例一:

    项目中我们的用户数据可能需要和第三方共享,或允许第三方调用我们的API则用token

    案例二:

    公司内部的网站,自己的App,就可以用cookie、session

    一般来说我们可以将登录信息放在session,其他信息保存在cookie

    案例三:

    观察微信、支付宝登录接口用的就是token

    回忆滋润坚持
  • 相关阅读:
    相关不是因果,哪又是啥?
    .NET Http请求
    .NET [MVC] 利用特性捕捉异常
    .NET WebAPI 利用特性捕捉异常
    .NET Core[MVC] 利用特性捕捉异常
    .NET Core 如何使用Session
    .NET CORE 使用Session报错:Session has not been configured for this application or request
    .NET Core Cache [MemoryCache]
    .NET CORE 设置cookie以及获取cookie
    webapi 控制json的字段(key)显示顺序
  • 原文地址:https://www.cnblogs.com/james5d/p/14173802.html
Copyright © 2020-2023  润新知