• jmeter cookies和token -- 8


    现实中很多接口都会使用到cookies和token,现在简单了解一下:

    session

           session的中文翻译是“会话”,当用户打开某个web应用时,便与web服务器产生一次session。服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后session会被销毁。

         这种用户信息存储方式相对cookie来说更安全,可是session有一个缺陷:如果web服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session会丢失。

    cookie

            cookie是保存在本地终端的数据。cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于

          cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。 cookie的组成有:名称(key)、值(value)、

          有效域(domain)、路径(域的路径,一般设置为全局:"")、失效时间、安全标志(指定后,cookie只有在使用SSL连接时才发送到服务器(https))。

    token

            token的意思是“令牌”,是用户身份的验证方式,最简单的token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,由token的前几位+盐以哈希算法压缩成一定长的十六进制字符串,

           可以防止恶意第三方拼接token请求服务器)。还可以把不变的参数也放进token,避免多次查库

    cookie 和session的区别

      1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

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

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

      4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

      5、所以个人建议:
           将登陆信息等重要信息存放为SESSION
           其他信息如果需要保留,可以放在COOKIE中

    token 和session 的区别

            session 和 oauth token并不矛盾,作为身份认证 token安全性比session好,因为每个请求都有签名还能防止监听以及重放攻击,而session就必须靠链路层来保障通讯安全了。如上所说,

      如果你需要实现有状态的会话,仍然可以增加session来在服务器端保存一些状态

            App通常用restful api跟server打交道。Rest是stateless的,也就是app不需要像browser那样用cookie来保存session,因此用session token来标示自己就够了,session/state由api server的逻辑处理。 

      如果你的后端不是stateless的rest api, 那么你可能需要在app里保存session.可以在app里嵌入webkit,用一个隐藏的browser来管理cookie session.

    配置元件-cookie管理器

              http-cookie管理器:可以在浏览器中抓取到cookie信息,然后通过http cookie管理器为http请求添加cookie信息

         重定向的url可以用火狐抓包,勾选“持续日志”

        

    Cookies方式:

    1. 加一个空的HTTP Cookie管理器,执行登录和其他接口,会自动带过去   

        

      2. 要不然添加一个”HTTP Cookie管理器”,通过抓包的方式将session添加进去

        

       3. Token场景

        可以将浏览器抓到的token值,直接保存到HTTP信息头管理器

        

     

         

       使用JSON提取器:

        

        

        

        

     

    签名:

       使用MD5加密,不使用MD5则可以通过编写代码实现

        

  • 相关阅读:
    获取本机外网ip和内网ip
    服务器发布MVC常见问题解决方案
    Ext.Net学习笔记01:在ASP.NET WebForm中使用Ext.Net
    Form验证(转)
    各浏览器各版本User-agent汇总 欢迎补充
    MSSQL中把表中的数据导出成Insert
    发布mvc3的项目时system.web.mvc 版本 为3.0.0.1高于服务器版本3.0.0.0 升级到3.0.0.1
    MySQL Packets larger than max_allowed_packet are not allowed
    SQL查看数据库所用用户表数量和使用的空间
    公用提示对话框
  • 原文地址:https://www.cnblogs.com/yangguanghuayu/p/11847840.html
Copyright © 2020-2023  润新知