专栏首页LaravelCode接口开发安全问题

接口开发安全问题

接口开发安全问题

公司业务扩展需要,需对外提供接口给其他第三方系统使用。很多人说是系统并不安全,缺乏安全考虑。所以抽出时间思考整理了一番

采用认证 + 签名验证的方式来进行传输

认证 : (认证方式为: Oauth2) 其他外部系统调用垂直系统接口需通过垂直系统提供的指定账号密码进行登录,获取秘钥。

Authorization:Bearer y3XWtwWaxqCEBDoE-qzZk0bCp3UKO920

签名验证 满足第一步条件,方可进行签名验证。

签名所需参数:

  • 秘钥(垂直系统提供)
  • token (令牌 登录可获取)
  • timestamp (时间戳)
  • 以及其他参数
  • sign 签名

签名生成步骤:

第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名 ASCII 码从小到大排序(字典序),使用 URL 键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。 特别注意以下重要规则:

参数名 ASCII 码从小到大排序(字典序);

如果参数的值为空不参与签名;

参数名区分大小写;

验证调用返回或微信主动通知签名时,传送的 sign 参数不参与签名,将生成的签名与该sign值作校验。

第二步,在stringA最后拼接上 key 得到 stringSignTemp 字符串,并对 stringSignTemp进行 MD5 运算,再将得到的字符串所有字符转换为大写,得到 sign 值 signValue。 签名算法与微信一致。上方一些内容来自微信开发文档

IP白名单,第三方需要联调需提供外网机器IP地址 说了这么多,本身也不确定此方案可不可行,但是应该也差不多吧。另外对于特别铭感信息.需采用 HTTPS 协议进行传输

具体实现就是接下来的问题了,下一章节,(采用 Yii2.0)进行详细描述。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Yii2 连接多个数据库

    日常生活中我们一个项目一个数据库就足够了,但是难免会有意外,会使用多个数据库进行读写操作。例如:从另一个数据库导入数据到现在的数据库 今天就探讨下,Yii2.0...

    hedeqiang
  • API 开发调试工具之 Postwoman

    今天给大家推荐一款 API 开发工具 Postwoman (女人) ,其实日常工作中我们差不多都是用 Postman (男人) 这个工具来调试我们的接口,那今天...

    hedeqiang
  • Mac 下安装 Tesserocr

    今天在 Mac 上安装Tesserocr 稀里糊涂报一堆错误,接下来就说说遇到的各种问题

    hedeqiang
  • 腾讯云企业服务器-腾讯云企业服务器优惠活动

    腾讯云企业获得优惠的方法: 注册腾讯云 > 完成企业认证> 购买腾讯云为企业准备的优惠产品,

    用户5908769
  • 一种常见的关于率指标的错误分析思路

    今天给大家分享一种在数据分析过程中关于率指标分析可能会犯的一种错误。这个问题其实很多新人都会犯,有的老人也会犯,而且很多时候错了以后并不自知。刚好读者群有人在问...

    张俊红
  • 【IFE】Day 2 – 百度前端技术学院 基础学院 学习笔记(二)

    Hyejeong小DD
  • HTML 基础

    HTML 基础 本章展示最常用的 HTML 标签。 标题 标题很重要 请确保标题标签只用于标题。不要仅仅是为了产生粗体或大号的文本而使用标题。 搜索引擎...

    静默虚空
  • 爬虫进阶之APP逆向(三)

    反编译之后我们就根据请求参数来寻找加密的源码,同时需要注意下搜索的技巧。比如同一个参数,如果加上引号会极大的减少我们的工作量。

    Python编程与实战
  • 小程序实践(九):返回到上一个界面并传值回去

    常见需求,修改某个信息,需要调到一个新界面有个输入框去修改内容,修改之后,点击后退按钮,新的数据就返回更新了

    听着music睡
  • 驾校GPS模拟器的应用

    本文主要讲了驾校GPS模拟器的使用,并阐述了GPS模拟器的功能和在未来驾校系统更加现代化过程中发展的重要性,方便用户对GPS模拟器有一个简单的认知和驾校系统对G...

    时频专家

扫码关注云+社区

领取腾讯云代金券