资讯专栏INFORMATION COLUMN

给第三方使用接口的 URL 签名实现

vibiu / 2231人阅读

摘要:在开放给第三方使用的中,如果让第三方携带明文的请求服务,极有可能泄漏。由于第三方身份验证服务器是依赖于的,这样会造成不良的后果。

在开放给第三方使用的API中,如果让第三方携带明文的token请求服务,极有可能泄漏token。由于第三方身份验证服务器是依赖于token的,这样会造成不良的后果。为了提高通信的安全性,我们需要加密token,就是URL签名了。
实现URL的签名过程

生成URL签名的signature,假设第三方获取到token后,token=“aff9u87kkk444hjg”,openId=8996,将要调用的API路径是zithan.test/user/show,那么URL签名如下:

signature=md5("zithan.test/user/show?openId=8996&token=aff9u87kkk444hjg")

组合API的路径

zithan.test/user/show?openId=8996&signature=1aba61306711521e8b52ac2f46bb3ebf

但是现在还有一个问题,就是重放攻击,没有过期时间,假设非法者截获了这个API路径,就能反复调用这个路径。 改进方法是增加时间戳,增加API路径的时效性。

signature=md5("zithan.test/user/show?openId=8996&token=aff9u87kkk444hjg×tamp=1550732083")
zithan.test/user/show?openId=8996×tamp=1550732083&signature=cba2aa328577e6aab3e811517e1aa752
注意事项

md5可以换成其他非对称加密的方法

在获取token那一个步骤也有可能泄露token,那么严谨就需要采取对称加密,进行数据加密。

因为增加了时间戳,那么就有可能导致第三方和服务器的差异性,那么就需要计算第三方的时间差,在验证签名或者生成签名的时候考虑进去。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30124.html

相关文章

  • 微信开发总结之JSSDK

    摘要:签名用的必须是调用接口页面的完整。出于安全考虑,开发者必须在服务器端实现签名的逻辑。以上为服务器的步骤,根据以上内容实现了一个简单的中间件,详见客户端使用接口注入权限验证配置待续 关键名词解释 安全域名: 用于JSSDK,开发者即可在该域名(包括二级域名)下调用微信开放的JS接口 access_token: · 普通access_token:JSSDK和微信公众号后台...

    happyhuangjinjin 评论0 收藏0
  • Api项目设计攻略

    摘要:总结一下数据保护的技术点参数传输使用密文,可以使用对称加密非对称加密或者两者的结合,比如请求就是属于两者结合的方式。安全性一些常用的安全问题都要考虑到,并且在项目框架底层进行防范,例如攻击注入问题单用户或者单的访问频率控制来进行防攻击。 App所有数据都来源于服务器,App和服务器交互普遍是采用http请求接口的方式,那么在搭建和维护一个后端Api项目时候需要注意哪些问题呢? 1. 数...

    scq000 评论0 收藏0
  • 微信支付 一步一个坑APP支付!

    摘要:开发流程准备完成后我们来看一下支付的大体流程商户应用与微信支付主要的交互说明用户在商户应用移动端中选择商品提交订单,支付方式选择微信支付。商户应用后台收到用户支付订单,调用微信支付中的统一下单接口。 引言 秋高气爽,天气转凉,正是学习工作做的好时候。(~ ̄▽ ̄)~~(~ ̄▽ ̄)~ 我是个phper最近在写微信支付(APP支付),微信给的官方文档并不是很详细也没有dome之类的代码啥的(...

    DandJ 评论0 收藏0
  • 微信支付 一步一个坑APP支付!

    摘要:开发流程准备完成后我们来看一下支付的大体流程商户应用与微信支付主要的交互说明用户在商户应用移动端中选择商品提交订单,支付方式选择微信支付。商户应用后台收到用户支付订单,调用微信支付中的统一下单接口。 引言 秋高气爽,天气转凉,正是学习工作做的好时候。(~ ̄▽ ̄)~~(~ ̄▽ ̄)~ 我是个phper最近在写微信支付(APP支付),微信给的官方文档并不是很详细也没有dome之类的代码啥的(...

    tracymac7 评论0 收藏0
  • 集成三方-支付宝那些事

    摘要:配置文件修改配置文件该处按照自己习惯有改动,可自行考虑,代码如下支付宝配置文件最后需要修改两个重要的文件,一个是支付宝订单信息的生成文件,一个是异步通知文件。 这两天,在移动APP上集成了支付宝支付功能,费了一些周折,除了其他博客上提到的一些问题,这里分享一下自己的经验 Android客户端代码集成 1、准备 a 注册支付宝商家账号b 开通移动支付功能c 生成RSA私钥和公钥,上...

    voyagelab 评论0 收藏0

发表评论

0条评论

vibiu

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<