一、为什么需要签名机制?
HTTPS(TLS)是确保数据传输安全,而大多数签名是为了确保调用方的操作是被“授权”的。
通过签名服务提供方可以确保自己的服务只能被自己授权的第三方(可以正确签名的)调用(这个操作同样有“不可抵赖”性,避免第三方不承认自己发起过某些操作),如果没有签名的保护,任何第三方甚至个人都可以发起这些操作,那以上的保护就都没有了。
二、作为测试人员,遇到签名机制,如何进行接口测试?
那么目前博主已知2种方式可以实现
第一种:使用跳过验证的方式
第一种是让开发人员对接口增加跳过验证签名和token、cookie的凭证,比如在请求url中增加test=1、debug=1 当接口传递这些信息的时候,则忽略token、cookie和签名的验证,直接可以访问。但是这种方式是不安全的,万一方式泄露则会被非法人员利用 一般情况下测试环境可以开放这种方式,生产环境不建议开放这种方式。
第二种:按照签名规则,生成对应的签名
目前常用的签名规则 是通过接口各种请求信息组合起来进行md5加密 例子: 接口的路径+当前时间戳+固定文案+用户登陆的uniqid 组合起来然后通过md5的方式进行加密
生成的md5 串,在接口请求的时候放进去就可以进行签名的验证了
分类:
软件测试常用知识
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现