System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种验证客户端请求合法性的实现方法技术_技高网

一种验证客户端请求合法性的实现方法技术

技术编号:40474512 阅读:7 留言:0更新日期:2024-02-26 19:11
本发明专利技术提供一种验证客户端请求合法性的实现方法,涉及互联网请求响应技术领域。该一种验证客户端请求合法性的实现方法,包括S1:发起请求、S2:ID查询和S3:Redis缓存查询,Server服务器网关对请求上送的流水ID进行解析,获取ID内容进行判断;如果流水ID为空,直接返回校验失败,告知客户端响应结果;如果流水ID不为空,则查询Redis缓存服务中是否包含该ID。通过基于互联网C/S交互模式架构,应用Redis缓存技术,对暴露外网的链接地址中流水ID进行本地缓存、生成、更新、校验等处理方法,保证请求流水ID的唯一性、有效性和合法性,以实现对客户端请求链接的重复性验证,保证后台服务器的提供稳定、安全、高效的持续运转。

【技术实现步骤摘要】

本专利技术涉及互联网请求响应,具体为一种验证客户端请求合法性的实现方法


技术介绍

1、在互联网使用c/s模式即client/server(客户端/服务器)模式中,服务器负责处理和存储数据,而客户端向该服务器发出请求并接收响应。这种模式常用于各种网络应用程序,如电子邮件、聊天室、文件传输、数据库管理和网页浏览器等交互场景中。

2、本专利技术使用到的技术redis,是一个开源的使用ansi c语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库存储系统,并提供多种语言api。

3、现有的,基于token进行身份验证的方法中服务器需要生成和存储令牌,并在每次请求时进行验证,如果令牌被泄露或丢失,需要及时进行处理和更新,当令牌过期后,客户端需要重新获取新的令牌,这可能会对用户体验产生影响,需要额外的处理逻辑来处理过期令牌的情况。


技术实现思路

1、针对现有技术的不足,本专利技术提供了一种验证客户端请求合法性的实现方法,解决了令牌泄露和令牌过期的问题。

2、为实现以上目的,本专利技术通过以下技术方案予以实现:一种验证客户端请求合法性的实现方法,以下步骤:

3、s1:发起请求

4、server服务器网关对请求上送的流水id进行解析,获取id内容进行判断;

5、s2:id查询

6、如果流水id为空,直接返回校验失败,告知客户端响应结果;

7、如果流水id不为空,则查询redis缓存服务中是否包含该id;

8、s3:redis缓存查询

9、如果redis缓存中已包含该id,表示该id已被重复使用,返回校验失败,并告知客户端响应结果;

10、如果redis缓存中不包含该id,表示该id可以正常使用,返回校验成功,告知客户端响应结果。

11、优选的,所述在步骤s3中,同时在redis缓存中新增该id,并按照业务要求设定一个保存时长,超过设定时间后系统自动删除该id。

12、优选的,一种验证客户端请求合法性的实现方法,包括:客户端登录模块、token存储模块、token传递模块和token验证模块,所述客户端登录模块包括有请求发送单元和登录凭证单元,所述请求发送单元通过客户端向服务器发送登录请求,所述登录凭证用户在登录页面输入用户名和密码,然后将这些凭证发送给服务端进行验证。

13、优选的,所述token存储模块包括有云端存储单元和本地存储单元,所述云端存储单元可以将token保存在内存中,例如使用全局变量或单例模式来保存token,所述本地存储单元可以在客户端关闭后仍然保留token,但存在安全性风险,因为本地存储可以被其他恶意脚本或攻击者访问。

14、优选的,所述token传递模块包括有请求传递单元和url传递单元,所述请求传递单元可以将token作为请求头的一部分,在每个请求中通过authorization头字段传递,所述url传递单元可以将token作为url的一部分,通过get请求传递。

15、优选的,所述token验证模块包括有接收单元和验证单元,所述接收单元验证token的格式是否正确,例如是否符合jwt的格式、验证token的签名是否正确,使用事先约定的密钥或公钥对token进行解密和验证签名、验证token的过期时间,判断token是否已过期,,所述验证单元可以对token进行验证,如果token验证通过,服务端可以根据token中的信息进行授权和权限验证;如果token验证不通过,服务端可以返回相应的错误信息或状态码给客户端,表示token无效或过期,客户端可以根据这些信息进行相应的处理。

16、本专利技术提供了一种验证客户端请求合法性的实现方法。具备以下有益效果:

17、本专利技术通过基于互联网c/s交互模式架构,应用redis缓存技术,对暴露外网的链接地址中流水id进行本地缓存、生成、更新、校验等处理方法,保证请求流水id的唯一性、有效性和合法性,以实现对客户端请求链接的重复性验证,保证后台服务器的提供稳定、安全、高效的持续运转。

本文档来自技高网...

【技术保护点】

1.一种验证客户端请求合法性的实现方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种验证客户端请求合法性的实现方法,其特征在于:所述在步骤S3中,同时在Redis缓存中新增该ID,并按照业务要求设定一个保存时长,超过设定时间后系统自动删除该ID。

3.一种验证客户端请求合法性的实现方法,包括:客户端登录模块、Token存储模块、Token传递模块和Token验证模块,其特征在于:所述客户端登录模块包括有请求发送单元和登录凭证单元,所述请求发送单元通过客户端向服务器发送登录请求,所述登录凭证用户在登录页面输入用户名和密码,然后将这些凭证发送给服务端进行验证。

4.根据权利要求3所述的一种验证客户端请求合法性的实现方法,其特征在于:所述Token存储模块包括有云端存储单元和本地存储单元,所述云端存储单元可以将Token保存在内存中,例如使用全局变量或单例模式来保存Token,所述本地存储单元可以在客户端关闭后仍然保留Token,但存在安全性风险,因为本地存储可以被其他恶意脚本或攻击者访问。

5.根据权利要求3所述的一种验证客户端请求合法性的实现方法,其特征在于:所述Token传递模块包括有请求传递单元和URL传递单元,所述请求传递单元可以将Token作为请求头的一部分,在每个请求中通过Authorization头字段传递,所述URL传递单元可以将Token作为URL的一部分,通过GET请求传递。

6.根据权利要求3所述的一种验证客户端请求合法性的实现方法,其特征在于:所述Token验证模块包括有接收单元和验证单元,所述接收单元验证Token的格式是否正确,例如是否符合JWT的格式、验证Token的签名是否正确,使用事先约定的密钥或公钥对Token进行解密和验证签名、验证Token的过期时间,判断Token是否已过期,,所述验证单元可以对Token进行验证,如果Token验证通过,服务端可以根据Token中的信息进行授权和权限验证;如果Token验证不通过,服务端可以返回相应的错误信息或状态码给客户端,表示Token无效或过期,客户端可以根据这些信息进行相应的处理。

...

【技术特征摘要】

1.一种验证客户端请求合法性的实现方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种验证客户端请求合法性的实现方法,其特征在于:所述在步骤s3中,同时在redis缓存中新增该id,并按照业务要求设定一个保存时长,超过设定时间后系统自动删除该id。

3.一种验证客户端请求合法性的实现方法,包括:客户端登录模块、token存储模块、token传递模块和token验证模块,其特征在于:所述客户端登录模块包括有请求发送单元和登录凭证单元,所述请求发送单元通过客户端向服务器发送登录请求,所述登录凭证用户在登录页面输入用户名和密码,然后将这些凭证发送给服务端进行验证。

4.根据权利要求3所述的一种验证客户端请求合法性的实现方法,其特征在于:所述token存储模块包括有云端存储单元和本地存储单元,所述云端存储单元可以将token保存在内存中,例如使用全局变量或单例模式来保存token,所述本地存储单元可以在客户端关闭后仍然保留token,但存在安全性风险,因为本地存储可以被其他恶意脚本...

【专利技术属性】
技术研发人员:刘晓旭
申请(专利权)人:上海通联金融服务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1