你的api上锁了吗?
admin
2023-06-12 22:02:20
0

职责单一化,各司其职,后端只负责Api接口编写提供给各种不同类型的客户端去调用,但是客户端和服务器端调用是要有权限限制的,不能任何一个客户端都可以随便调用我们的接口(这里面的缘由相信大家都知道吧,当然我就默认你们都知道),再者我们都知道http是明文传输,被抓包可可以修改相应参数,当然如果你使用了https就相对安全了不少!

你的api上锁了吗?


  举一个很简单的栗子,×××的接口大家都调用过吧,当然肯定有没调用过的,没关系,没有调用过的人也是能明白我接下来要讲的事情:×××会有一个sign的签名,就是思梦php上面所说的权限认证机制了

  下面思梦php给大家讲的只是其中的原理,我们可以根据所讲知识继续扩展,完善成为你自己的一套程序。

  主要使用的工具:thinkphp5/PHP

  (1)首先客户端和提供服务的服务器加密方式要一致AES、MD5都可以

  (2)规定好参数

  下面的程序是规定了三个参数:version(api的版本)、time(请求时间)、sign(加密好的签名)

  当然这些参数我们可以根据你的实际代码业务而定,不一定设置一样,本次程序的参数是设置在header头里面进行传输,为了和body里面的业务参数区分开来,当然这里也可以不一致,根据你的业务而定

  注意点:客户端和服务端时间不一致的问题,我们要在服务器提供一个时间的方法来验证时间的有效性

你的api上锁了吗?


  接下来就是我们在一个入口文件里面去定义一个验证的方法,保证我们接口的安全性

你的api上锁了吗?


你的api上锁了吗?


  以上就是代码的示例:

  (1)首先定义了一个BaseController

  (2)定义一个构造方法,触发验证机制

  (3)在验证方法里面获取header信息,进行加密验证,如果第一次方法将该sign作为键值缓存起来并设置有效期,保证请求的唯一性

  (4)之后判断限制请求的时间,如果超时将抛弃此次请求

  当然这是在http上面做的一些操作,如果使用了https已经相对安全多了!

  以上只是一个抛砖引玉,小伙伴可以自己再去完善


相关内容

热门资讯

英媒爆料:万斯陷入空前孤立,或... 持反战态度的美国国家情报总监加巴德日前辞职,她被认为是副总统万斯的重要盟友。英媒爆料称,随着加巴德的...
特朗普要求先签“亚伯拉罕协议”... 新华社利雅得5月25日电(记者王海洲 罗晨)据沙特阿拉伯阿拉比亚电视台25日报道,就美国总统特朗普呼...
美司法部称白宫附近枪击案是针对... 新华社华盛顿5月25日电 据美国媒体25日报道,美国司法部在一份文件中称,23日发生在白宫附近的枪击...
半岛电视台:美伊就资产解冻问题... 新华社多哈5月25日电(记者汪强)卡塔尔半岛电视台25日报道,一名了解伊朗高级代表团在多哈会谈情况的...
多地积极探索算电协同创新模式 本报记者 李万晨曦 近日,南方电网广西电网公司联合中国移动广西公司开展了首次算电协同响应实景测试,成...
乘舟向天宫 逐梦揽星河——神舟... 乘舟向天宫  逐梦揽星河 ——神舟二十三号载人飞行任务乘组出征侧记 ■杨子凡 解放军报记者 赵 倩 ...
基恩士相机无图像维修服务商梳理... 导语:在工业自动化设备运维中,基恩士相机作为视觉检测的核心部件,其稳定性直接影响生产线效率。针对无图...
新型3D打印技术问世 机构高频... 新型3D打印技术问世机构高频调研3只概念股 人民财讯5月25日电,2026年以来,3D打印行业内好消...
DeepSeek V4永久降价... 快科技5月25日消息,DeepSeek近日更新API文档,宣布DeepSeek-V4-Pro模型在5...
俄外长告知美方对乌打击计划 新华社莫斯科5月25日电(记者侯鸣)俄罗斯外交部网站25日发布通告说,俄外交部长拉夫罗夫当天同美国国...