python接口自动化之cookie,session,token鉴权解决方案

python接口自动化之cookie,session,token鉴权解决方案,第1张

http协议:简单、快捷、无连接、无状态。多次请求之间是没有关联的,独立的。

一、cookie鉴权 1、什么是cookie?

cookie是在服务器产生的存储在客户端的一小段文本信息,格式是字典,键值对。

2、cookie的分类

会话级:保存内容,当浏览器关闭就会丢失
持久化:保存硬盘,只有当失效时间到了才会被清除

3、如何查看cookie

name,value、domain、path、express、size

4、cookie如何实现鉴权(原理)

当客户端第一次访问服务器时,那么服务器就会产生cookie,然后通过相应头的方式在Set-Cookie传输到客户端。客户端从第2-N次请求都会自动的带上这些cookie。

致命的弱点:cookie保存在客户端,对于一些敏感信息,用户名,密码,身份z。 不安全

第一个接口:

第二个接口:

二、session鉴权

当用户第一次访问服务器的时候,然后再服务器端保存一个sessionid,这个sessionid是经过加密的,然后通过cookie吧这个sessionid保存到客户端,然后请求服务器的时候只发送sessionid。
sessionid保存在服务器内存中。

致命弱点:解决了cookie不安全的问题,但是随着又出现了新的问题。当用户量特别大的时候,会导致服务器崩溃。
服务器集群: 请求IP捆绑、session复制、单点登录。

第一个接口:

第二个接口:

三、token鉴权

当一个用户登录之后,就给他发送一个token令牌,下一次用户再次请求的时候,只要带上这个令牌。token可以通过抓包抓取(http)
token保存在文件中或是保存在数据库中。
加密:
对称加密:des aes
双钥加密:RSA

只加密不解密:md5 SHA
token的分类:
access_token:有时间期限,限制在15分钟
refresh_token:一般15天

第一个接口:

第二个接口:

四、cookie、session、token的相同点和区别?

相同点:都是用于做鉴权的,都是服务器产生的。
区别:
(1)cookie存储在客户端,session存储在服务器,session的安全性比cookies高。所以一般情况下把重要的信息放在session,把不重要的放cookies。
(2)session存在服务器内存,token存在服务器的为难或者数据库中,token的好处是比session更省服务器资源。token只需要在服务器解密即可。

自动化层面:
工具:postman、jmeter
代码:借口关联,cookie鉴权、session鉴权、web自动化用cookie跳过验证码

出现了新的问题:第三方支付,银行,金融项目,安全的要求更高。

数字证书:

五、接口签名:sign

既可以在工具里面解决,也可以在代码里面解决。
为什么我们有工具postman、jmeter,那么我们为什么做代码级别的接口自动化?
(1)敏捷开发:接口巨大 不容易做版本控制和团队协作
(2)工具太死,我们需要自定义一些功能
(3)一个项目中有多种协议的接口
(4)定位问题
(5)工具,没有办法生成美观的报告。allure
(6)对于复杂的接口,多接口协议,数据库
(7)日志监控
(8)接口自动化 web自动化
深度:接口自动化
(1)所有的请求都必须要统一管理
(2)封装好接口自动化测试框架之后,功能测试只需要写测试用例,不需要写代码

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/786547.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-05
下一篇2022-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存