您好,登录后才能下订单哦!
请求超时!
请点击 重新获取二维码这篇文章主要介绍了微信小程序中如何实现API接口安全,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
一.接口安全的必要性
最近我们公司的小程序要上线了,但是小程序端是外包负责的,我们负责提供后端接口。这就可能会造成接口安全问题。一些别有用心的人可以通过抓包或者其他方式即可获得到后台接口信息,如果不做权限校验,他们就可以随意调用后台接口,进行数据的篡改和 服务器的攻击,会对一个企业造成很严重的影响。
因此,为了防止恶意调用,后台接口的防护和权限校验非常重要。
虽然小程序有HTTPs和微信保驾护航,但是还是要加强安全意识,对后端接口进行安全防护和权限校验。
二.小程序接口防护
小程序的登录过程:
小程序端通过wx.login()获取到code后发送给后台服务器
后台服务器使用小程序的appid、appsecret和code,调用微信接口服务换取session_key和openid(openid可以理解为是每个用户在该小程序的唯一识别号)
后台服务器自定义生成一个3rd_session,用作openid和session_key的key值,后者作为value值,保存一份在后台服务器或者 redis或者 mysql,同时向小程序端传递3rd_session
小程序端收到3rd_session后将其保存到本地缓存,如wx.setStorageSync(KEY,DATA)
后续小程序端发送请求至后台服务器时均携带3rd_session,可将其放在header头部或者body里
后台服务器以3rd_session为key,在保证3rd_session未过期的情况下读取出value值(即openid和session_key的组合值),通过openid判断是哪个用户发送的请求,再和发送过来的body值做对比(如有),无误后调用后台逻辑处理
返回业务数据至小程序端
会话密钥session_key 是对用户数据进行加密签名的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。
session_key主要用于wx.getUserInfo接口数据的加解密,如下图所示:
sessionId
在微信小程序开发中,由wx.request()发起的每次请求对于服务端来说都是不同的一次会话。啥意思呢?就是说区别于浏览器,小程序每一次请求都相当于用不同的浏览器发的。即不同的请求之间的sessionId不一样(实际上小程序cookie没有携带sessionId)。
如下图所示:
实际上小程序的每次wx.request()请求中没有包含cookie信息,即没有sessionId信息。
但是我们可以在每次wx.request()中的header里增加。
接口防护方法
使用HTTPS防止抓包,使用https至少会给破解者在抓包的时候提高一些难度
接口参数的加密,通过md5加密数据+时间戳+随机字符串(salt),然后将MD5加密的数据和时间戳、原数据均传到后台,后台规定一个有效时长,如果在该时长内,且解密后的数据与原数据一致,则认为是正常请求;也可以采用aes/des之类的加密算法,还可以加入客户端的本地信息作为判断依据
本地加密混淆,以上提到的加解密数据和算法,不要直接放在本地代码,因为很容易被反编译和破解,建议放到独立模块中去,并且函数名称越混淆越难读越安全。
User-Agent 和 Referer 限制
api防护的登录验证,包括设备验证和用户验证,可以通过检查session等方式来判断用户是否登录
api的访问次数限制,限制其每分钟的api调用次数,可以通过session或者ip来做限制
定期监测,检查日志,侦查异常的接口访问
感谢你能够认真阅读完这篇文章,希望小编分享的“微信小程序中如何实现API接口安全”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
深圳坪山网站建设公司石景山外贸网站优化建设衡水网站优化武汉网站关键词优化专业运营团队网络公司用的什么优化网站软件长春网站优化与推广要多少钱城阳网站优化排名案例优化网站的步骤内链南昌市网站seo优化排名休宁网站优化公司洛阳平台seo网站优化网站整站优化免费渠道有哪些网站优化权重排名网站优化技术团队旅游网站优化济南网站seo优化推广良品铺网站该如何优化网站排名优化亿金苹果实力长乐网站优化德阳网站url优化永安市企业网站优化中山地产网站优化如何德兴网站整站优化北京网站建设优化公司哪家好有实力的网站优化排名蓬莱视频网站优化济南网站优化 鹊起科技大庆网站建设优化公司网站seo优化会遇到哪些问题西安网站建设推广优化地坪网站推广优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤