• 跟微信公众号一起来学api安全


    1.基础加密

     你写个接口,你只想让特定的调用方使用,你把这些调用的人叫到一个小屋子,给他们宣布说我这里有个接口只打算给你们用,我给你们每人一把钥匙,你们用的时候拿着这把钥匙即可。

    这把钥匙就是我上文说到的参数加密规则,有了这个规则就能调用。

    对应微信公众号获取access_token

    2.基础加密+接口时效性验证

    继上一步,你发现有不明不白的人调用你的接口,你很不爽,随即把真正需要调用接口的人又叫来,告诉他们每天给他们换一把钥匙。和往常一样,有个别伙伴的钥匙被小偷偷走了,小偷煞费苦心,经过数天的踩点观察,准备在一个月黑风高的夜晚动手。拿出钥匙,捣鼓了半天也无法开启你的神圣之门,因为小偷不知道你天天都在换新钥匙。

    https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183

    3.基础加密+时效性验证+私钥

     继上一步,你发现道高一尺魔高一丈,仍然有偷盗事情发生。咋办呢?你打算下血本,给每个人配一把钥匙的基础上,再给每个人发个暗号,即使钥匙被小偷弄去了,小偷没有暗号,任然无法如愿,而且这样很容易定位是谁的暗号泄漏问题,找到问题根源,只需要给当前这个人换下钥匙就行了,不用大动干戈。

    私钥类似于openid

    4.基础加密+时效性验证+私钥+Https

    随便一个都是https加密

    实际开发(多数外包公司):

    md5生成一个token,在生成一个时间戳放数据库(最好是redis),给app端,通过token来找uid

  • 相关阅读:
    springSecurity登陆与退出json形式交互
    SQL-Mysql表结构操作
    SQL-Mysql数据类型
    SQL-SQL事物操作
    springboot之Validation参数校验
    springSecurity之java配置篇
    springsecurity入门篇
    springboot集成shiro
    13个不low的JS数组操作
    基于canvas的五子棋
  • 原文地址:https://www.cnblogs.com/JANCHAN/p/9794329.html
Copyright © 2020-2023  润新知