axios使用sm2加密数据后请求参数多了双引号解决方法

axios使用sm2加密数据后请求参数多了双引号解决

  • 背景
  • 问题描述
    • 解决过程

背景

因项目安全要求,需对传给后端的入参加密,将请求参数加密后再传给后端
前期将axios降低到1.6.7后解决了问题,但最近axios有漏洞,安全要求对版本升级,问题需要继续解决。
果然,技术栈不解决迟早会有问题。。。

问题描述

升到稳定版本后,在浏览器网络请求参数上发现加密后的参数加上了双引号
在这里插入图片描述
后端的日志也能看出来多了双引号,导致后端解密失败
在这里插入图片描述

正常的请求参数是不带双引号的
在这里插入图片描述

解决过程

  1. 一开始想将content-type转为text传给后端,但是此路不通,会导致后端无法接收参数,只能传json格式
Content-Type: application/json
  1. 那就转换思路,看axios是在什么地方将字符串添加了双引号的,于是在github上找到下面代码,解决问题
    代码段来自于别人的提交记录,亲测有效
const instance = axios.create({transformRequest: function transformRequest(data, headers) {// doesn't apply the default transformRequest if the data is a string, so that axios doesn't add quotes see :// https://github.com/usebruno/bruno/issues/2043// https://github.com/axios/axios/issues/4034const hasJSONContentType = () => {const contentType = (headers && headers['Content-Type']) || '';return contentType.indexOf('application/json') > -1;};if (typeof data === 'string' && hasJSONContentType()) {return data;}axios.defaults.transformRequest.forEach((tr) => tr(data, headers));}});

相关细节可查看
https://github.com/axios/axios/issues/4034
https://github.com/usebruno/bruno/pull/2449

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/374711.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软航文档控件VUE示例运行及控件替换方法记录

目录 示例运行 步骤一、npm install 步骤二、npm run dev 软航文档控件替换 附 vue小白记录一下软航文档控件VUE示例的运行方法以及示例中控件的替换过程。 示例运行 在已经安装好VUE环境的电脑上,VUE环境部署可以参考另一篇:配置VUE环境过程中 …

PHP红包拓客微信小程序系统源码

🎉红包狂欢,客源滚滚来!红包拓客微信小程序,营销新利器🚀 🧧一、创意红包,吸引眼球 你还在为如何吸引顾客而烦恼吗?红包拓客微信小程序来帮你!🎁 它以创意红…

怎样在 C 语言中实现栈?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会! 📙C 语言百万年薪修炼课程 通俗易懂,深入浅出,匠心打磨,死磕细节,6年迭代,看过的人都说好。 文章目…

IT运维也有自己的节日 724向日葵IT运维节,三大版本如何选?

“724运维节”,是2016年由开放运维联盟发起倡议,广大运维人员共同投票产生的属于运维人自己的节日。 对于运维人最大的印象,那就是工作都需要7x24小时待命,是名副其实的“日不落骑士”,这也是大家选择724这一天作为运…

【chatgpt消费者偏好】是什么驱动了游客持续旅游意愿?推文分享—2024-07-08

今天推文的主题是【chatgpt&消费者意愿】 第一篇:文章主要研究了什么因素驱动旅游者继续使用ChatGPT进行旅行服务,并从人类拟态的角度探讨了旅游者对ChatGPT的感知和使用意图。第二篇:本文探讨了ChatGPT-4在生成针对TripAdvisor上发布的…

【car】深入浅出学习机械燃油车知识、结构、原理、维修、保养、改装、编程

汽车的五大总成通常是指发动机、变速器、前后桥、车架和悬挂系统。 发动机:是汽车的动力来源,负责将燃料的化学能转化为机械能,驱动汽车行驶。常见的发动机类型有内燃机(如汽油发动机、柴油发动机)和电动机&#xff0…

什么是海外仓管理自动化?策略及落地实施步骤指南

作为海外仓的管理者,你每天都面临提高海外仓运营效率、降低成本和满足客户需求的问题。海外仓自动化管理技术为这些问题提供了不错的解决思路,不过和任何新技术一样,从策略到落地实施,都有一个对基础逻辑的认识过程。 今天我们整…

攻防世界 (Django @宽字节注入)Cat

这道题进来首先是让你输入域名,我输入了一个baidu.com发现无响应,输入127.0.0.1后发现执行了一个ping命令 我首先想到的就是命令注入,然而输入127.0.0.1||id 127.0.0.1&&id 127.0.0.1;ls;等后均显示无效的URL,很明显过滤了…

PyCharm 2023.3.2 关闭时一直显示正在关闭项目

文章目录 一、问题描述二、问题原因三、解决方法 一、问题描述 PyCharm 2023.3.2 关闭时一直显示正在关闭项目 二、问题原因 因为PyCharm还没有加载完索引导致的 三、解决方法 方法一: 先使用任务管理器强制关闭,下次关闭时注意要等待PyCharm加载完索…

Docker Push Docker Hub

首先可以参考 Docker | 将自己的docker镜像推送到docker hub[图文详情]_如何将自己的docker镜像上传到dockerhub上-CSDN博客 将自己的镜像打标签 和 镜像推送到 docker hub上的图文注意一下 1.打标签之前 docker tag paddleocr_fast_api:1.0 hmgx/wlx:3.0 2.打标签之后 3.开…

..质数..

先弄清楚我们在上小学时 学的概念。 1、什么是质因数? -质因数是指能够整除给定正整数的质数。每个正整数都可以被表示为几个质数的乘积,这些质数就是该数的质因数。质因数分解是将一个正整数分解成若干个质数相乘的过程。例如,数字 12…

Jenkins教程-18-常用插件-description-setter

上一小节我们学习了Jenkin常用插件Environment Injector的使用方法,本小节我们讲解一下Jenkin常用插件description-setter的使用方法。 在某些情况下,用户可能希望根据构建过程中的某些关键信息来自定义构建的描述,比如部署的用户信息、提交…

【蓄势·致远】 同为科技(TOWE)2024年年中会议

2024年7月2日-8日,同为科技(TOWE)召开2024年年中工作会议。会议回顾上半年总体工作情况,分析研判发展形势,规划部署下半年工作。 为期一周的工作会议,由同为科技(TOWE)创始人、董事长…

深入剖析C++的 “属性“(Attribute specifier sequence)

引言 在阅读开源项目源代码是,发现了一个有趣且特殊的C特性:属性。 属性(attribute specifier sequences)是在C11标准引入的。在C11之前,编译器特有的扩展被广泛用来提供额外的代码信息。例如,GNU编译器&…

水库大坝安全监测险情应对措施

汛期暴雨洪涝灾害发生后,为保证大坝及下游人民生命财产安全,应及时进行大坝安全现场检查和快速评估。评估内容包括大坝沉降和水平变形、裂缝、坝坡是否塌滑、下游坡是否存在集中渗漏或大面积渗水、溢洪道启闭设备能否正常运行、近坝库岸是否有大的滑坡体…

【python】PyQt5对象类型的判定,对象删除操作详细解读

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

汽车预约维修小程序的设计

管理员账户功能包括:系统首页,个人中心,技师管理,技师信息管理,用户预约管理,取消预约管理,订单信息管理,系统管理 微信端账号功能包括:系统首页,技师信息&a…

Ajax从零到实战

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

Unity实现安卓App预览图片、Pdf文件和视频的一种解决方案

一、问题背景 最近在开发app项目,其中有个需求就是需要在app软件内显示图片、pdf和视频,一开始想的解决方案是分开实现,也就是用Image组件显示图片,找一个加载pdf的插件和播放视频的插件,转念一想觉得太麻烦了&#x…

Lumos学习王佩丰Excel第四讲:排序与选择

一、排序 1、简单排序:不要选中一列排序,不然只是局部排序,其他数据都会发生错乱。 2、多条件排序 3、2003版本中超过3个排序条件时如何处理:从最后一个条件到第一个条件倒着按照要求依次排序。 4、按颜色排序 5、自定义排序次序…