来源:https://www.toutiao.com/i6869353034188030471前言前端和后端分离开发方法,我们以接口为标准进行推广,定义接口,开发自己的功能,最后进行共同调整。无论是开发本机APP,Webapp还是PC端软件,只要将前端和后端分开,就不可避免地要调用后端提供的接口进行业务交互。
对于网页或应用程序,只要抓取包,就可以清楚地知道请求所获得的数据,并且可以伪造请求以获取或攻击服务器。对于爬虫工程师来说,这也是一个福音,并且很容易捕获您的数据。
那么我们如何解决这些问题呢?对于接口签名,我们首先考虑伪造接口数据和接口重复调用的问题。为了解决这个问题,我们需要使用接口签名方案。
签名过程签名规则1.针对不同呼叫的appid和appsecret的脱机分发缔约方分配了不同的appid和appsecret 2.添加时间戳记(timestamp),数据在5分钟内有效3.添加临时序列号随机数(防止重复提交),位于至少10位数字。对于查询界面,序列号仅用于登录日志,方便以后的日志验证。
必须在处理接口的有效期内验证序列号的唯一性,以避免重复请求。 4.添加签名字段签名,即所有数据的签名信息。
以上字段放置在请求标头中。用于签名字段生成的签名生成规则。
所有动态参数=请求标头部分+请求URL地址+请求请求参数+请求正文。上面的动态参数以键值格式存储并按键值的正顺序排序,然后进行拼接,最后进行拼接appSecret签名中的字符串=&DigestUtils.md5DigestAsHex(sortParamsMap& +& ; nbsp; appSecret)拼接成一个字符串,然后将md5不可逆加密的请求标头部分的请求标头部分=“ appId = xxxx& nonce = xxxx×tamp = xxxx& amp == xxx” 4必须传递请求标头中的参数,否则它将直接报告异常请求URL地址请求URL地址https://mso.xxxx.com.cn/api/user request请求参数表示请求是在Get方法中,当请求为Post时,将获得传入参数request Body,从请求输入流中获取请求正文,并将其保存为String形式。
签名算法实现的基本原理实际上是相对简单的,即为每个请求处理一个自定义的过滤器;整个过程如下:1)验证必要的标头参数2)获取标头参数,请求参数,URL请求路径,请求正文Body,将这些值放入SortMap中进行排序3)在SortMap中拼接这些值4)加密拼接的值以生成符号5)将生成的符号与从前端传入的符号进行比较,如果它们不相同,则返回错误。让我们看一下代码@Component公共类SignAuthFilter扩展了OncePerRequestFilter {静态最终字符串FAVICON  =“ / favicon.ico”;静态最终字符串PREFIX& nbsp; =“ attack:signature:”;}以上是过滤器类。
其中,有一个appSecret需要您自己的企业来获取。它的功能主要是区分不同的客户端应用程序。
并使用获得的appSecret参与签名,以确保客户的请求签名受我们的背景控制,并且我们可以为不同的客户发布不同的appSecrets。让我们看一下验证头参数。
上图实际上是在验证该值是否传入。但实际上,有一个非常重要的观点,那就是验证请求的时间。
如果超过10分钟,则该链接已超时,从而阻止其他人访问此链接进行请求。这是为了防止热链接。
让我们看一下如何获取每个参数。在以上过程中,将进行额外的安全处理以防止盗窃。
我们可以允许链接过期,并使用nonce参数来防止重复提交。签名验证成功后,判断是否重复。
提交的原则是结合redis来确定是否已提交。结束语今天,我们使用签名来保护我们提供给外界的接口。
但是此保护措施只能防止其他人篡改请求或模拟请求。但是,仍然缺乏数据本身的安全保护,即所请求的参数和返回的数据可能被其他人截获,并且这些数据是无格式的
公司: 深圳市捷比信实业有限公司
电话: 0755-29796190
邮箱: momo@jepsun.com
产品经理: 李经理
QQ: 2215069954
地址: 深圳市宝安区翻身路富源大厦1栋7楼

更多资讯
获取最新公司新闻和行业资料。
- 如何提高系统安全性以防止数据泄露 在当今数字化时代,数据安全成为企业和个人必须重视的问题。数据泄露不仅会损害企业声誉,还可能导致严重的经济损失和法律问题。为了提高系统的安全性以防止数据泄露,可以采取以下几个措施:1. 强化访问控制:确保只...
- 自恢复保险丝的安全性和可靠性如何? 自恢复保险丝是一种过流电子保护元件,采用高分子有机聚合物在高压、高温,反应的条件下搀加导电粒子材料后,经过特殊的工艺加工而成。其安全性和可靠性较高,具有以下优点:自复性:在发生过流或短路故障时,自恢复...
- 如何实现IC接口在系统中的应用 在现代计算机系统和软件开发中,接口(Interface)扮演着至关重要的角色,它定义了一组规则和方法,使得不同的组件或系统能够相互协作而无需关心对方的具体实现细节。IC(Integrated Circuit,集成电路)接口是硬件设计中的一个...
- double sum = 0.0; for(int i = 0; i < n; i++) { if(resistors[i] > 0) { sum += 1.0 / resistors[i]; 在C语言中计算并联电阻的总电阻是一个常见的应用问题,它涉及到基本的物理知识与编程技巧的结合。并联电路中的总电阻可以通过所有并联电阻倒数的和的倒数来计算。首先,我们需要定义一个函数来处理这一计算过程。例如...
- 数据传输线保护方法与技巧 在当今数字化时代,数据传输线作为连接设备与系统的重要纽带,其重要性不言而喻。为了确保数据传输的安全与稳定,采取有效的数据传输线保护措施显得尤为重要。以下是一些关于如何保护数据传输线的方法和技巧:1. 选择...
- ALPS阿尔卑斯开关全系列产品概述 ALPS阿尔卑斯开关作为行业内的知名品牌,提供了一系列高品质的产品以满足不同用户的需求。其全系列产品包括了多种类型的开关,如轻触开关、拨动开关、检测开关等,广泛应用于汽车电子、家用电器、通讯设备等多个领域。...
- 贴片电容里面白色的是什么 贴片电容器的颜色没有白色的,可能是蓝灰色,那就是NPO材料。如果它是白色的,它肯定不是电容器或电感。色码法:与电阻的表示方法相同,单位一般为PF。小型电解电容器的耐受电压也有用色标法的。位置靠近正极出线的根部...
- 如何正确连接220伏电机与电容电源 在处理220伏电机与电容电源的连接时,确保安全是首要任务。首先,你需要准备合适的工具和材料,包括但不限于电线、电容器、螺丝刀等。在开始之前,请务必断开所有电源以避免触电风险。接下来,了解电机的具体参数非常...
- 小松压力开关:确保机械设备安全高效运行的关键组件 小松压力开关是一种被广泛应用在各种机械设备中的关键部件,它主要负责监测系统内的压力变化,并在达到预设值时自动启动或关闭相关设备,以确保整个系统的安全运行。这种开关通常用于工程机械、农业机械以及工业自动...
- 如何安装和使用自恢复保险丝? 安装和使用自恢复保险丝需要注意以下几点:选择合适的安装位置:应将自恢复保险丝安装在被保护电路的前端,以确保保险丝能够在过流或短路故障时及时熔断。确定正确的安装方向:应根据自恢复保险丝的安装指示进行安装...
- 如何确定自恢复保险丝是否损坏?常见症状分析 自恢复熔断器作为一种非常重要的电子元件,在各个行业都有着广泛的应用。然而,在长期使用和环境影响下,自恢复保险丝也可能因各种原因而损坏。那么,如何确定自恢复保险丝是否损坏?了解自恢复保险丝自恢复保险丝是...
- 如何根据电路需求选择合适的TVS管类型? 要根据电路需求选择合适的TVS管类型,需要考虑以下几个方面:电路的电压和电流需求:TVS管的主要功能是稳压和调节电流。因此,需要根据电路的电压和电流需求来选择合适的TVS管类型。例如,如果电路需要高压输出,可以选...
- 日本ALPS阿尔卑斯SKHM系列轻触开关:高性能与可靠性的选择 日本ALPS阿尔卑斯电子公司以其高品质的电子元件在全球市场上享有盛誉。其产品线涵盖了各种类型的开关、传感器以及精密部件等。其中,SKHM系列轻触开关是该公司的明星产品之一,广泛应用于消费电子产品、家用电器、汽车电...
- 如何优化显示器界面以提高工作效率 在当今快节奏的工作环境中,显示器界面的设计对于提高工作效率至关重要。一个直观、高效且美观的用户界面可以显著减少工作中的时间浪费,帮助员工更快地完成任务。以下是一些优化显示器界面的方法,旨在提高工作效率...
- 德国福P+F接近开关:自动化控制领域的高效解决方案 德国福P+F公司是世界著名的传感器制造商之一,其生产的接近开关在自动化控制领域拥有极高的声誉。福P+F接近开关采用先进的传感技术,能够在无需物理接触的情况下检测到目标物体的存在,这不仅减少了机械磨损,还大大提...
- 制冷压力开关:确保制冷系统安全稳定运行的关键 制冷压力开关是一种用于保护制冷系统的关键部件,它能够根据系统中的压力变化自动开启或关闭电路。在空调、冰箱等制冷设备中,这种开关通过监测冷凝器和蒸发器之间的制冷剂压力来确保系统的正常运行。当系统内的压力...
- ESD静电抑制管的性能参数有哪些?如何判断其性能是否符合要求? ESD静电抑制管的性能参数主要包括:击穿电压、泄漏电流、钳位电压、电容和电阻等。其中,击穿电压是衡量ESD静电保护器性能的最重要参数之一,它指的是当ESD静电保护器承受外加电压时,能够保持稳定工作的最大电压。泄漏...
- UART串口桥接器详解:功能、应用与配置方法 UART(通用异步收发传输器)是一种常见的串行通信接口,广泛应用于各种嵌入式系统和设备之间数据传输。UART串口桥接器作为连接不同设备或系统间数据交换的重要工具,在物联网、工业自动化、嵌入式开发等领域发挥着重要作...
- 0欧姆电阻:连接、调试与安全保护的多功能元件 0欧姆电阻在电路设计中看似无用,实则具有多重功能。首先,它可以用作跳线或连接器,方便电路板的调试和维修时快速断开或连接电路。此外,在生产制造过程中,0欧姆电阻可以作为占位符,预留位置以便后续需要增加组件时...
- 如何根据电路需求选择合适的半导体放电管? 选择半导体放电管时,应根据电路的需求考虑其工作电压、电流、通流容量、响应时间、耐压等参数,并确保其满足电路的安全要求。此外,还需要考虑封装形式、价格等因素,以确保半导体放电管的可靠性和稳定性。...