接口自动化-Cookie、Session、Token鉴定解决方案

本文详细介绍了Cookie、Session和Token三种鉴权方式的工作原理及其优缺点。Cookie存储在客户端,易暴露敏感信息;Session存储在服务器,安全性较高但可能导致服务器资源消耗过大;Token提供了一种更安全且节省服务器资源的解决方案,适用于高安全需求的项目。同时,文中还提及了接口签名Sign在提高安全性方面的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Cookie鉴权
http协议:无连接、无状态,请求无关联、独立
京东:登录、搜商品、下单、支付、评论

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

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

如何查看Cookie
name、value、domain、path、expries.size

Cookie如何实现鉴权(原理)
当客户端第一次访问服务器时,那么服务器就会产生Cookie,然后通过响应头的方式在Set-Cookie传输到客户端,客户端从第2-N请求都会自动带上Cookie

致命弱点:cookie保存在客户端,对于敏感信息用户名、密码、身份证安全

"""
@Project: pytestDemo-master
@Description:Cookie鉴权
@Time: 2022/4/13 15:45
@Author:MING
"""
import re
import unittest
import requests

class Cookie_Login(unittest.TestCase):

    csrf_token = ""
    csrf_cookie = ""

    # 第一次访问网站
    def test_01_index(self):
        url = 'http://47.107.116.139/phpwind'
        res = requests.get(url=url)
        # 通过正则表达式获取到csrf_token的值
        value = re.search('name="csrf_token" value="(.+?)"', res.text)
        Cookie_Login.csrf_token = value.group(1)  # 获取csrf_token值
        Cookie_Login.csrf_cookie = res.cookies  # 获取cookie
        print(value)

    # 登录
    def test_02_login(self):
        url = "http://47.107.116.139/phpwind/index.php?m=u&c=login&a=dorun"
        data = {
   
            "username":"123456",
            "password": "123456",
            "csrf_token"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值