前面的文章说了接口数据如何获取,今天就来聊聊接口数据的安全问题。说到接口加密验证,通常都称作“签名”,类似于名人的个性签名,让其它人无法模仿。比如说请求接口删除自己写的文章,又或者请求接口查询自己的帐单明细。被抓到接口地址,然后随便改动下参数,岂不是就能随意删除别人的文章或者得到别人的帐单明细了。通常接口签名,就是在接口请求时加上一条签名参数,来让后台识别“身份“。

1.0 最简单的, 直接带上密钥

一些接口资源网站,对于免费用户就提供了这种签名方式。要求每次请求数据时带上预先提供的密钥。比如 www.testapi.com/date/list/json,在请求时参数里加上 sign=iamlilei。这种方式是相当LOW的,防御力相当于0。提供接口的人根本就没打算安全验证,加上签名只是为了方便统计接口使用次数以方便计费。

2.0 升级版, 隐藏id,改用token

最开始说了,如果是删除内容的接口,参数中就肯定有文章编号,用户身份的标识。如果使用id这种数字形式的参数,很容易被冒用。但是如果给用户创造一个复杂的名字,比如’asdfWEkKjH788J’这种字母加数字加大小写加特殊字符的形式,相信没人猜得出规律了。即使被人抓到接口地址,他也改不了其它用户的数据。但是有些资源类的接口,比如获取最新新闻,最新天气等,这类接口就不存在身份了,怎么防止别人免费使用你的接口呢!

3.0 定时更新token

用户身份是固定的,但token是可以经常更新,签名是和用户身份绑定的,请求时也要带上。这样别人无法掌握你最新的密钥,自然也无法使用了。目前,这种签名是最普遍的,比如微信公众号各种认证都是用的这种方式。

4.0 加密签名

通常我们做到第三步,效率高,安全度也可以。但是,非要找一个不会被冒用接口的方法。肯定也是有的,就是加密签名。首先,服务端提供给客服端一串密钥,类似token.请求接口时,我们不发送token,而是先把token与当前时间戳拼接并使用md5等固定的算法加密成sign参数,然后把时间戳与sign添加到请求参数里。这样服务收到请求后,同样把用户对应的token和时间戳拼接再加密,最后做判断是否一致。当然,时间戳肯定是有时效的,可以设置成3秒。使用这样的方式,不透露密钥,不透露加密算法,是很难被冒用的。

总结

学术的东西,没有最好,只有更好。具体使用哪种方式还需要针对具体的场景。如果只是在后端使用可以使用最简单的方式。但是涉及到用户数据,那就要防范了。

微信接口请求次数_接口签名验证常用方案相关推荐

  1. api数据接口文档_接口文档示例(Taobao/jd/pinduoduo/开放接口调用)

    api数据接口文档_接口文档示例 本文主要是提供了一个接口文档的范文,内容修订历史.目录.时序图.接口要素描述.接口说明.使用示例.字典.FAQ.  使用MD格式文档(makedown),选择原因,容 ...

  2. php限制接口访问次数_令牌桶限流思路分享(PHP+Redis实现机制)

    一 .场景描述 在开发接口服务器的过程中,为了防止客户端对于接口的滥用,保护服务器的资源, 通常来说我们会对于服务器上的各种接口进行调用次数的限制.比如对于某个 用户,他在一个时间段(interval ...

  3. 数据接口请求异常:parerror_接口测试用例编写和测试关注点

    一.为什么要做接口测试 在日常开发过程中,有人做前端开发,有人负责后端开发.接口就是连接前后台,由于前端开发和后端开发的速度可能不一样,例如后端开发好了,但是前端没有开发.那么我们是不是就不需要测试呢 ...

  4. 对接接口文档_接口自动化测试框架设计思路

    接口自动化测试--框架设计思路 1 前言 之前文章跟大家分享了一下自己在接口自动化测试中进行测试准备的一些相关知识点,接下来本篇文章详细分享一下接口自动化框架设计的思路总结,希望能对初次探索接口自动化 ...

  5. 接口访问次数_系统运行缓慢,CPU 100%,Full GC次数过多,这一招帮你全搞定

    处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题.当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警.本文主要针对系统运行缓慢这 ...

  6. 接口访问次数_如何基于spring开发自定义注解实现对接口访问频次限制?

    做JavaWeb的开发的同学们都应该遇到过,客户要求某个接口进行频次的限制,如每秒并发10个,或者短信验证码发送场景,60秒内只允许发送一次. 通常开发的小伙伴们肯定是拿到以上需求在接口逻辑里进行实现 ...

  7. ajax项目设置,jQuery_ajax预处理_和后置处理;项目中ajax自动设置_token_请求头,_接口响应code的统一处理...

    项目中经持发秀事应差互过来商类如处.,到图近就这常会遇到需要统一设置 ajax请求的预处理 和 需要统一处理ajax返回的需到二新,为都础过过发等宗和发制数事前理业待很理断到屏能击示和站公下图以使箭分 ...

  8. java 接口可以被继承_接口能被继承吗?

    1.接口可以继承接口 2.抽象类可以实现接口 3.抽象类可以继承实体类 注意:接口不能被实体类继承 扩展资料: 1.Java继承或实现接口时需要遵循的原则: (1)类优先于接口. 如果一个子类继承的父 ...

  9. yapi 接口文档_接口文档神器YApi

    什么是YApi 官网上是这么介绍的:YApi 是一个可本地部署的.打通前后端及QA的.可视化的接口管理平台 https://hellosean1025.github.... 可以这么说YApi兼具sw ...

最新文章

  1. 技术图文:如何进行代码的重构?以封装 BigOne API 为例
  2. Java 求1000以内的同构数_求1-10000之间的同构数
  3. 政策定价风控审批策略
  4. PyQt4编程之如何做菜单栏
  5. 计算机科学的大部分研究是基于,计算机科学
  6. mybatis框架中的mapper.xml文件中的头部代码
  7. 图像抠图Image Matting算法调研
  8. Python 让所有奇数都在偶数前面,而且奇数升序排列,偶数降序排序
  9. HttpServletResponse.getWriter().print乱码,request.getHeader乱码,解决方法
  10. 西工大计算机学院交流,2017西工大计算机交流+精贵资料
  11. RTX5 | 软件定时器01 - 创建一个软件定时器(单次运行)
  12. java 日期处理_JAVA 日期处理大全
  13. python print return不同_Python中return和print的作用及区别
  14. php在函数中定义全局变量,PHP 全局变量在用户自定义函数内部不足见
  15. 用java程序写日历_用Java和C#写一个日历
  16. 奥维互动地图自建谷歌地图服务器,奥维互动地图添加谷歌地图完美
  17. pdf编辑工具linux,7个Ubuntu下的PDF编辑工具
  18. H3C防火墙透明模式部署trunk
  19. 利用js,HTML,css实现一个简单的指针时钟
  20. 驭势吴甘沙:我的根本利益|Xtecher人物特稿

热门文章

  1. CLion for mac安装配置
  2. pb 如何导出csv_Firefox火狐浏览器将提供导出密码至本地的功能
  3. 江苏有保障的计算机应用技术,2022年江苏单招计算机应用技术专业公办学校名单...
  4. wordpress html音乐,WordPress引用百度Ting音乐方法
  5. opendds开发指南中文版_最强的开发者技术路线图已经更新到 2020 GitHub 超 118k还有中文...
  6. oracle 导入excel时间格式,将.xls或者.excel格式的数据导入到Oracle中
  7. String.slice
  8. Linux LNMP 环境的搭建之【Nginx的安装】
  9. tiny4412 linux+qtopia nfs网络文件系统的挂载
  10. PHP生成缩略图函数