接口测试(API)理论3

1、cookie

1.1什么是cookie

主要是存储用户操作行为的数据,在早期的互联网产品中,用户登录系统的凭证都是由cookie来进行记录的,但是由于是存储在客户端的(本机的电脑),所以是不安全的,基本目前登录认证的凭证不会再使用cookie的技术了

2、session

2.1什么是session

由于cookie是存储在客户端的,它不安全,所以session是把登录成功后的数据存储在服务端,同理,session也是用来记录用户的登录凭证的。

2.2session的请求流程

1、客户端输入账户和密码,点击登录

2、登录成功后,会在服务端把用户登录成功后的信息生成一个sessionid的凭证,并且存储在服务端

3、然后服务端通过响应头中的set-cookie把生成的sessionid返回给客户端

4、客户端再次查看个人主页,客户端会通过请求头中的cookie,把set-cookie返回的sessionid带上,发送给服务端

5、服务端接收到客户端发送的sessionid,和存储在服务端的session ID作一个对比

6、如果对比一致,用户可以继续反问系统的任何功能,如果对不一致,立刻跳转到登录的页面

 

 

 2.3案例产品

 

 

 

 

 

 

 

 

 2.4cookie和session的区别

由于cookie是存储在客户端的,它不安全,所以session是把登录成功后的数据存储在服务端

3、TOKEN

3.1什么是TOKEN

主要是用来存储用户操作行为的数据,本质上是session的原理,我们可以把它理解为一个令牌,每次登录成功后,返回的token都是随机的字符串 jwt的技术来实现

3.2TOKEN的请求流程

1、客户端输入账户和密码,点击登录

2、登录成功后,会在服务端把用户登录成功后的信息生成一个Token的凭证,同时了存储在服务端

3、服务端会通过响应数据或者是响应头中的set-cookie返回给客户端

4、那么客户端再次向服务端发送请求,会在请求参数或者请求头中的Authuration中带上返回来的token发送给服务端

5、服务端接收到客户端发送的Token,和存储在服务端的Token作一个对比

6、如果对比一致,用户可以继续反问系统的任何功能,如果对不一致,立刻跳转到登录的页面流程

 

 

 

 

 

3.3案例产品

 

 

 3、HTTPS

3.1HTTP的协议它是存在缺陷的,这些缺陷主要为:

通信内容是明文,内容很可能被第三方获取到

不验证通信方的身份信息,容易被伪装

无法证明请求头的完整性

3.2HPPTS出现的原因

基于HTTP存在这些缺陷,也就有了HTTPS的协议,我们可以把HTTPS可以汇总为:HTTPS=HTTP+加密+认证+完 整性保护。

基于这样一层的设计,相对来书还是比较安全的,HTTPS不是全新的协议,它只是HTTP的协议基础上新增SSL和 TLS。

在前面中我们知道HTTP是和TCP直接通信,那么在HTTPS中,HTTP先和SSL通信,SSL再和TCP来进行通信。

3.3HTTPS也并不是最安全的,最典型的就是2016年发生的心脏流血事件

HTTPS内部的证书被黑客攻击,导致全球所有的顶级互联网公司都暴露出去(基本上五天时间解决了)

4、TTP认证体系

4.1HTTP/1.1版本中,使用的认证方式具体为:

4.1.1 BASIC认证,也就是基本认证

基本认证采用Base-64编码方式,但是不是加密的处理方式。不需要附加任何信息可对其进行解码,那么在HTTP等 非加密通信的线路上进行BSCIC认证的过程中,很容易被人进行获取信息,安全体系不够高。

4.1.1.1产品案例

 

 

4.1.2 DIGEST认证,也就是摘要认证

DIGEST的认证体系是为了解决BASIC的缺陷之一的,它也是采用质询/响应的模式,但是不会直接发送明文密码。 所谓质询/响应模式指的是一开始一方先发送认证要求给另外一方,接着使用从另一方那接收到的质询码计算生成 响应码,最后将响应码返回给对方进行认证的方式。

4.1.3 SSL客户端认证

4.1.4 FormBase认证,也就是基于表单认证

5、Response响应部分

401 Unauthorized 无权限访问该系统

产品案例

 

 

 403 Forbidden 有权限但是禁止访问

产品案例

 

posted @ 2022-01-04 18:03  挣大钱  阅读(96)  评论(0)    收藏  举报