CN117319026A - 请求验证方法及装置 - Google Patents
请求验证方法及装置 Download PDFInfo
- Publication number
- CN117319026A CN117319026A CN202311245936.6A CN202311245936A CN117319026A CN 117319026 A CN117319026 A CN 117319026A CN 202311245936 A CN202311245936 A CN 202311245936A CN 117319026 A CN117319026 A CN 117319026A
- Authority
- CN
- China
- Prior art keywords
- credential
- target
- preset
- pool
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 107
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010200 validation analysis Methods 0.000 claims description 3
- 230000006854 communication Effects 0.000 abstract description 27
- 238000004891 communication Methods 0.000 abstract description 26
- 230000004044 response Effects 0.000 description 11
- 238000011161 development Methods 0.000 description 6
- 230000000903 blocking effect Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 235000014510 cooky Nutrition 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及网络安全技术领域,提供一种请求验证方法及装置。所述方法包括:根据凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到请求报文的请求验证结果;确定请求验证结果为验证通过,生成目标凭据,以根据目标凭据更新凭据池中的预设凭据,并将目标凭据发送至目标客户端,以使目标客户端根据目标凭据,更新用于添加至请求报文的用户凭据。本申请实施例提供的请求验证方法,能够提高客户端与后端服务器之间通信的安全性。
Description
技术领域
本申请涉及网络安全技术领域,具体涉及一种请求验证方法及装置。
背景技术
在前后端分离的开发模式下,需要对前端与后端之间的通信,即客户端与后端服务器之间的通信进行验证,以提高通信过程的安全性。
相关技术中,为了解决前端与后端通信验证的问题,即客户端与后端服务器之间的通信验证的问题,通常由后端服务器将一个固定的用户凭据发送至客户端,以使客户端根据该用户凭据,生成请求报文。后端服务器在接收到客户端的请求报文后,对请求报文中的用户凭据进行验证,判断该用户凭据是否过期以及该用户凭据是否与后端服务器中存储的用户凭据一致,从而得到请求报文的验证结果。
然而,由于用户凭据可能会被解码,因此会出现因固定用户凭据中的加密信息泄露,导致在固定用户凭据的过期时间内,其他客户端利用该固定用户凭据恶意的无限制重放请求,或无限度地使用该固定用户凭据请求接口地址的情况,影响客户端与后端服务器之间通信的安全性。
发明内容
本申请旨在至少解决相关技术中存在的技术问题之一。为此,本申请提出一种请求验证方法,能够提高客户端与后端服务器之间通信的安全性。
本申请还提出一种请求验证装置。
本申请还提出一种电子设备。
本申请还提出一种计算机可读存储介质。
根据本申请第一方面实施例的请求验证方法,包括:
根据凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到所述请求报文的请求验证结果;
确定所述请求验证结果为验证通过,生成目标凭据,以根据所述目标凭据更新所述凭据池中的预设凭据,并将所述目标凭据发送至目标客户端,以使所述目标客户端根据所述目标凭据,更新用于添加至所述请求报文的用户凭据。
本申请实施例提供的请求验证方法,通过凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到请求报文的请求验证结果,并在请求验证结果为验证通过的情况下,生成目标凭据,以根据目标凭据更新凭据池中的预设凭据和目标客户端的用户凭据,从而使得即使某一个用户凭据被其他客户端破解,其他客户端若想利用该用户凭据进行无限制重放请求或无限度地请求接口地址等恶意行为,则会因凭据池中的预设凭据更新而导致该用户凭据无法通过验证,进而实现阻拦恶意行为的目的,提高了目标客户端与后端服务器之间通信的安全性。
根据本申请的一个实施例,根据凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到所述请求报文的请求验证结果,包括:
检测接收到所述请求报文的时刻;
确定接收到所述请求报文的时刻处于所述用户凭据的有效期内,将所述用户凭据与所述凭据池中的预设凭据进行比对,得到所述请求报文的请求验证结果。
根据本申请的一个实施例,根据所述目标凭据更新所述凭据池中的预设凭据,包括:
将所述目标凭据添加至所述凭据池,以更新所述凭据池的所述预设凭据;
其中,更新后的凭据池中,所述预设凭据的数量不超过预设值,所述预设值大于1。
根据本申请的一个实施例,将所述目标凭据添加至所述凭据池,以更新所述凭据池的所述预设凭据,包括:
确定所述凭据池中预设凭据数量达到预设值,根据所述凭据池中,各所述预设凭据存储至所述凭据池的先后顺序,确定待删除凭据;
将所述目标凭据添加至所述凭据池中,替换所述待删除凭据。
根据本申请的一个实施例,所述待删除凭据为各所述预设凭据中,首个添加至所述凭据池的预设凭据。
根据本申请的一个实施例,还包括:
将所述目标凭据的有效期同步至所述目标客户端,以使所述目标客户端根据所述目标凭据的有效期,更新所述目标客户端的配置信息。
根据本申请的一个实施例,还包括:
根据所述预设凭据的有效期,更新所述凭据池。
根据本申请第二方面实施例的请求验证装置,包括:
请求验证模块,用于根据凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到所述请求报文的请求验证结果;
凭据更新模块,用于确定所述请求验证结果为验证通过,生成目标凭据,以根据所述目标凭据更新所述凭据池中的预设凭据,并将所述目标凭据发送至目标客户端,以使所述目标客户端根据所述目标凭据,更新用于添加至所述请求报文的用户凭据。
根据本申请第三方面实施例的电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时实现上述任一实施例所述的请求验证方法。
根据本申请第四方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的请求验证方法。
根据本申请第五方面实施例的计算机程序产品,包括:所述计算机程序被处理器执行时实现如上述任一实施例所述的请求验证方法。
本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
通过凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到请求报文的请求验证结果,并在请求验证结果为验证通过的情况下,生成目标凭据,以根据目标凭据更新凭据池中的预设凭据和目标客户端的用户凭据,从而使得即使某一个用户凭据被其他客户端破解,其他客户端若想利用该用户凭据进行无限制重放请求或无限度地请求接口地址等恶意行为,则会因凭据池中的预设凭据更新而导致该用户凭据无法通过验证,进而实现阻拦恶意行为的目的,提高了目标客户端与后端服务器之间通信的安全性。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的请求验证方法的第一流程示意图;
图2是本申请实施例提供的请求验证方法的第二流程示意图;
图3是本申请实施例提供的请求验证方法的第三流程示意图;
图4是本申请实施例提供的请求验证装置的结构示意图;
图5是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面,将通过几个具体的实施例对本申请实施例提供的请求验证方法及装置进行详细介绍和说明。
在各种应用系统中,用户的身份验证对于整个系统来说都是一个重要的功能。在前后端未分离的开发模式下,前端只存储了一个后端的session_id在cookie中,每次新的请求时把cookie的值都会携带到后端进行验证,而cookie由于浏览器同源安全保护机制,相对来说是很安全的。但随着前端开发模式的发明与创新,在前后端分离的开发模式下,脱离了之前的cookie和session的机制,因此需要对前端与后端之间的通信,即客户端与后端服务器之间的通信进行验证,来实现用户的身份验证。
目前,在前后端分离的开发模式下,为了解决客户端与后端服务器之间的通信验证的问题,通常是由后端服务器将一个固定的用户凭据发送至客户端,以使客户端根据该用户凭据,生成请求报文。后端服务器在接收到客户端的请求报文后,对请求报文中的用户凭据进行验证,判断该用户凭据是否过期以及该用户凭据是否与后端服务器中存储的用户凭据一致,从而得到请求报文的验证结果。
然而,由于用户凭据可能会被base64解码,使得用户凭据中的加密信息泄露,如加密的用户标识信息泄露,导致在使用固定用户凭据进行验证时,会出现因固定用户凭据中的加密信息泄露,使得在固定用户凭据的过期时间内,其他客户端利用该固定用户凭据恶意的无限制重放请求,或无限度地使用该固定用户凭据请求接口地址的情况,影响客户端与后端服务器之间通信的安全性。
为此,在一实施例中,提供了一种请求验证方法,该方法应用于后端服务器,用于对客户端发送的请求进行身份验证。其中,客户端可以是能够通过浏览器或应用程序与用户进行交互的移动终端或台式终端,如手机、笔记本电脑或台式电脑等。后端服务器可以是独立的服务器或者是多个服务器组成的服务器集群来实现,还可以是提供云服务、云凭据池、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能采样点设备等基础云计算服务的云服务器。
如图1所示,本实施例提供的一种请求验证方法包括:
步骤101,根据凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到所述请求报文的请求验证结果;
步骤102,确定所述请求验证结果为验证通过,生成目标凭据,以根据所述目标凭据更新所述凭据池中的预设凭据,并将所述目标凭据发送至目标客户端,以使所述目标客户端根据所述目标凭据,更新用于添加至所述请求报文的用户凭据。
在一些实施例中,后端服务器可预先签发一个用户凭据作为预设凭据,存储到凭据池,如存储到凭据数据库中。用户凭据可以包括加密后的用户身份信息以及有效期等。同时,可将该用户凭据发送至目标客户端,使目标客户端在需要向后端服务器发送请求报文时,将该用户凭据添加到请求报文的请求头中。
示例性的,目标客户端可先通过浏览器或应用程序等前端应用,向后端服务器发起登录请求。后端服务器在接收到目标客户端发送的登录请求后,响应该登录请求签发一个用户凭据,如从登录请求中提取用户信息,然后基于该用户信息签发一个用户凭据。在响应登录请求签发一个用户凭据后,即可将该用户凭据作为预设凭据存储到凭据池,同时将该用户凭据,添加至根据该登录请求生成的响应报文的响应头中,发送至目标客户端。目标客户端预先设置有响应拦截器,当目标客户端接收到后端服务器的响应报文后,即可通过响应拦截器拦截该响应报文,以从该响应报文的响应头中获取到用户凭据。目标客户端在获取到用户凭据后,即可在下次向后端服务器发送请求报文时,将该用户凭据添加至请求报文的请求头,以利用该用户凭据来通过后端服务器的验证。
后端服务器在接收到除登录请求外的其他请求报文时,可通过解析该请求报文,从该请求报文中提取用户凭据。而由于此时后端服务器的凭据池中已存在预设凭据,因此可通过凭据池中的预设凭据,来对从请求报文中提取到的用户凭据进行验证,从而得到该请求报文的请求验证结果。示例性的,可比较凭据池中的预设凭据,与从请求报文中提取到的用户凭据是否一致,若一致,则表示该请求报文通过身份认证,即验证通过;否则,表示该请求报文未通过身份认证,即验证不通过。
在请求报文的请求验证结果为通过的情况下,后端服务器触发凭据签发流程,使用JWT(JSON WEB TOKEN,JSON格式的网络令牌)签发一个新的用户凭据作为目标凭据,然后通过该目标凭据,来更新凭据池中的预设凭据,如将该目标凭据作为预设凭据,替换凭据池中原有的预设凭据。此外,在得到目标凭据后,后端服务器可将该目标凭据发送至目标客户端,以使目标客户端根据该目标凭据,更新用于添加至请求报文的用户凭据。如目标客户端在获取到目标凭据之后,将该目标凭据作为新的用户凭据,替换原有的用户凭据,使目标客户端每次始终仅存储一个最新的用户凭据,并在每次生成请求报文时,均会将最新的用户凭据添加至本次生成的请求报文中。而由于凭据池中的预设凭据在每次请求报文验证通过后都会进行更新,同时会将新的用户凭据同步至目标客户端,因此即使该请求报文为破解了某一个用户凭据的其他客户端发送的,其也只能利用该用户凭据进行有限次地访问,若其想利用该用户凭据进行无限制重放请求或无限度地请求接口地址等恶意行为,则会因凭据池中的预设凭据更新而导致该用户凭据无法通过验证,进而实现阻拦该恶意行为的目的。同时,由于凭据池中的预设凭据在更新后会作为新的用户凭据,同步至目标客户端,使能够目标客户端利用新的用户凭据来发送请求报文,因此不会对目标客户端的请求造成影响,提高了目标客户端的身份验证效率。
通过凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到请求报文的请求验证结果,并在请求验证结果为验证通过的情况下,生成目标凭据,以根据目标凭据更新凭据池中的预设凭据和目标客户端的用户凭据,从而使得即使某一个用户凭据被其他客户端破解,其他客户端若想利用该用户凭据进行无限制重放请求或无限度地请求接口地址等恶意行为,则会因凭据池中的预设凭据更新而导致该用户凭据无法通过验证,进而实现阻拦恶意行为的目的,提高了目标客户端与后端服务器之间通信的安全性。
为进一步提高目标客户端与后端服务器之间通信的安全性,在一些实施例中,如图2所示,根据凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到所述请求报文的请求验证结果,包括:
步骤201,检测接收到所述请求报文的时刻;
步骤202,确定接收到所述请求报文的时刻处于所述用户凭据的有效期内,将所述用户凭据与所述凭据池中的预设凭据进行比对,得到所述请求报文的请求验证结果。
在一些实施例中,任一用户凭据都预先设定有对应的有效期。后端服务器在接收到请求报文后,可从该请求报文的用户凭据中,提取出该用户凭据的有效期,以检测接收到该请求报文的时刻,是否处于从该请求报文中提取到的用户凭据的有效期内。其中,用户凭据的有效期根据后端服务器签发该用户凭据的时刻,以及该用户凭据的有效时长确定。示例性的,假设后端服务器签发的一个用户凭据的时刻为8:00a.m,其有效时长被后端服务器设定为1小时,则其有效期为8:00a.m-9:00a.m。若接收到请求报文的时刻,未处于该请求报文对应的用户凭据的有效期内,则表示该请求报文过期,此时则确定请求报文的请求验证结果为验证失败。若接收到请求报文的时刻,处于该请求报文对应的用户凭据的有效期内,则表示该请求报文有效,此时则将用户凭据与凭据池中的预设凭据进行比对。若用户凭据与凭据池中的预设凭据一致,则可确定请求报文验证通过,否则,可确定请求报文验证失败。
通过在接收到请求报文后,检测接收到请求报文的时刻,是否处于该请求报文对应的用户凭据的有效期内,并在确定接收到请求报文的时刻处于用户凭据的有效期内的情况下,再将用户凭据与凭据池中的预设凭据进行比对,得到请求报文的请求验证结果,从而通过有效期以及预设凭据对请求报文进行双重认证,进而进一步提高目标客户端与后端服务器之间通信的安全性。
若请求验证结果为验证通过,则后端服务器可使用JWT签发一个新的用户凭据作为目标凭据,然后利用该目标凭据更新凭据池中的预设凭据。而考虑到客户端在发送请求报文时,可能采用的是异步或并发的方式进行多个请求报文的发送。而对于采用异步或同步发送的方式发送多个请求报文来说,若在生成目标凭据后,直接将目标凭据替换凭据池中原有的预设凭据,即凭据池中只保留最新的预设凭据,可能会出现其他的请求报文因凭据池中的预设凭据更新而导致验证不通过的情况。因此,为在提高客户端与后端服务器的通信安全性的同时,能够对客户端异步发送的请求进行验证,在一些实施例中,根据所述目标凭据更新所述凭据池中的预设凭据,包括:
将所述目标凭据添加至所述凭据池,以更新所述凭据池的所述预设凭据;
其中,更新后的凭据池中,所述预设凭据的数量不超过预设值,所述预设值大于1。
在一些实施例中,凭据池中可存储数量不超过预设值的多个预设凭据。其中,预设值大于1。具体的,预设值可根据目标客户端利用同一用户凭据生成的请求报文的平均数量确定。示例性的,预设值可以为5-15,如可以设定为5、10或者15。
后端服务器在生成目标凭据后,检测凭据池中预设凭据的数量是否达到预设值。若未达到,则可将该目标凭据作为预设凭据直接添加至凭据池中,若达到,则将目标凭据,替换凭据池中某个旧的预设凭据,使凭据池中的预设凭据数量保持在预设值。而由于凭据池能够存储多个预设凭据,因此目标客户端与后端服务器采用异步或同步通信的方式进行多个请求报文传输时,不会因预设凭据在完成一个请求报文的验证后被立马替换,而导致其他请求报文无法通过验证的情况,提高客户端异步和并发请求的开发便利性。同时,由于凭据池对存储的预设凭据数量进行了限制,因此能够有效地限制同一用户凭证通过验证的次数,从而避免出现利用同一用户凭据进行无限制重放请求或无限度地请求接口地址等恶意行为。
此外,还可通过设定凭据池可存储的预设凭据数量,即通过设定预设值,来对客户端允许的接口并发数进行有效地管控。
为进一步减少目标客户端的正常请求报文无法通过验证的情况出现,在一些实施例中,如图3所示,将所述目标凭据添加至所述凭据池,以更新所述凭据池的所述预设凭据,包括:
步骤301,确定所述凭据池中预设凭据数量达到预设值,根据所述凭据池中,各所述预设凭据存储至所述凭据池的先后顺序,确定待删除凭据;
步骤302,将所述目标凭据添加至所述凭据池中,替换所述待删除凭据。
在一些实施例中,由于凭据池中各预设凭据的存储顺序,是按后端服务器签发这些预设凭据的顺序确定的,即先签发的预设凭据会先被存储至凭据池中,同时也会先被目标客户端所使用。因此,后端服务器在生成目标凭据后,可先检测凭据池中预设凭据数量是否达到预设值。若达到,则可根据各预设凭据存储至凭据池的先后顺序,对各预设凭据按照从先到后依次进行排序,然后选择排序靠前,如前3位的预设凭据中的任意一个预设凭据作为待删除凭据。在确定待删除凭据后,将该待删除凭据从凭据池中删除,同时将目标凭据作为新的预设凭据添加至凭据池中,从而替换待删除凭据。
而为进一步提高请求验证的准确性,待删除凭据可以为各预设凭据中,首个添加至凭据池的预设凭据。即在得到目标凭据后,若凭据池中预设凭据数量达到预设值,则可遵循先进先出的原则,将目标凭据替换各预设凭据中,首个被添加至凭据池的预设凭据。这样,便可减少目标客户端在将最新的用户凭据添加至请求报文后,因该用户凭据对应的预设凭据在凭据池中被删除,而导致后端服务器无法准确验证该请求报文的情况出现,从而提高请求验证的准确性。
为进一步提高请求的验证效率,在一些实施例中,后端服务器在生成目标凭据后,除了将目标凭据发送至目标客户端,使目标客户端将该目标凭据作为最新的用户凭据外,还可以将该目标凭据的有效期也同步至客户端,以使目标客户端可根据目标凭据的有效期,更新目标客户端的配置信息。
示例性的,假设目标凭据的有效期为9:00a.m-10:00a.m,则可将该有效期同步至目标客户端。目标客户端的配置信息被更新为若在9:00a.m-10:00a.m接收到对目标客户端的前端页面的操作,如链接点击操作,则响应该操作生成请求报文,若在9:00a.m-10:00a.m未接收到对目标客户端的前端页面的操作,则退出登录,使得再次接收到对目标客户端的前端页面的操作时,需要重新生成登录请求发送至后端服务器进行登录认证。
而为进一步提高请求验证的安全性,在一些实施例中,除了将目标凭据同步至目标客户端,以及添加至凭据池外,后端服务器还可以对凭据池中的各预设凭据进行有效期的监测,以判断凭据池中的预设凭据是否以及达到有效期。若凭据池中的某一预设凭据已经超过有效期,即该预设凭据已经过期,则将该预设凭据从凭据池中删除,从而更新凭据池。
下面对本申请提供的请求验证装置进行描述,下文描述的请求验证装置与上文描述的请求验证方法可相互对应参照。
在一实施例中,如图4所示,提供了一种请求验证装置,应用于后端服务器,包括:
请求验证模块210,用于根据凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到所述请求报文的请求验证结果;
凭据更新模块220,用于确定所述请求验证结果为验证通过,生成目标凭据,以根据所述目标凭据更新所述凭据池中的预设凭据,并将所述目标凭据发送至目标客户端,以使所述目标客户端根据所述目标凭据,更新用于添加至所述请求报文的用户凭据。
通过凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到请求报文的请求验证结果,并在请求验证结果为验证通过的情况下,生成目标凭据,以根据目标凭据更新凭据池中的预设凭据和目标客户端的用户凭据,从而使得即使某一个用户凭据被其他客户端破解,其他客户端若想利用该用户凭据进行无限制重放请求或无限度地请求接口地址等恶意行为,则会因凭据池中的预设凭据更新而导致该用户凭据无法通过验证,进而实现阻拦恶意行为的目的,提高了目标客户端与后端服务器之间通信的安全性。
在一实施例中,请求验证模块210具体用于:
检测接收到所述请求报文的时刻;
确定接收到所述请求报文的时刻处于所述用户凭据的有效期内,将所述用户凭据与所述凭据池中的预设凭据进行比对,得到所述请求报文的请求验证结果。
在一实施例中,凭据更新模块220具体用于:
将所述目标凭据添加至所述凭据池,以更新所述凭据池的所述预设凭据;
其中,更新后的凭据池中,所述预设凭据的数量不超过预设值,所述预设值大于1。
在一实施例中,凭据更新模块220具体用于:
确定所述凭据池中预设凭据数量达到预设值,根据所述凭据池中,各所述预设凭据存储至所述凭据池的先后顺序,确定待删除凭据;
将所述目标凭据添加至所述凭据池中,替换所述待删除凭据。
在一实施例中,所述待删除凭据为各所述预设凭据中,首个添加至所述凭据池的预设凭据。
在一实施例中,凭据更新模块220还用于:
将所述目标凭据的有效期同步至所述目标客户端,以使所述目标客户端根据所述目标凭据的有效期,更新所述目标客户端的配置信息。
在一实施例中,凭据更新模块220还用于:
根据所述预设凭据的有效期,更新所述凭据池。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)810、通信接口(Communication Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的计算机程序,以执行请求验证方法,例如包括:
根据凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到所述请求报文的请求验证结果;
确定所述请求验证结果为验证通过,生成目标凭据,以根据所述目标凭据更新所述凭据池中的预设凭据,并将所述目标凭据发送至目标客户端,以使所述目标客户端根据所述目标凭据,更新用于添加至所述请求报文的用户凭据。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请实施例还提供一种处理器可读存储介质,处理器可读存储介质存储有计算机程序,计算机程序用于使处理器执行上述各实施例提供的方法,例如包括:
根据凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到所述请求报文的请求验证结果;
确定所述请求验证结果为验证通过,生成目标凭据,以根据所述目标凭据更新所述凭据池中的预设凭据,并将所述目标凭据发送至目标客户端,以使所述目标客户端根据所述目标凭据,更新用于添加至所述请求报文的用户凭据。
处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种请求验证方法,其特征在于,应用于后端服务器,包括:
根据凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到所述请求报文的请求验证结果;
确定所述请求验证结果为验证通过,生成目标凭据,以根据所述目标凭据更新所述凭据池中的预设凭据,并将所述目标凭据发送至目标客户端,以使所述目标客户端根据所述目标凭据,更新用于添加至所述请求报文的用户凭据。
2.根据权利要求1所述的请求验证方法,其特征在于,根据凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到所述请求报文的请求验证结果,包括:
检测接收到所述请求报文的时刻;
确定接收到所述请求报文的时刻处于所述用户凭据的有效期内,将所述用户凭据与所述凭据池中的预设凭据进行比对,得到所述请求报文的请求验证结果。
3.根据权利要求1或2所述的请求验证方法,其特征在于,根据所述目标凭据更新所述凭据池中的预设凭据,包括:
将所述目标凭据添加至所述凭据池,以更新所述凭据池的所述预设凭据;
其中,更新后的凭据池中,所述预设凭据的数量不超过预设值,所述预设值大于1。
4.根据权利要求3所述的请求验证方法,其特征在于,将所述目标凭据添加至所述凭据池,以更新所述凭据池的所述预设凭据,包括:
确定所述凭据池中预设凭据数量达到预设值,根据所述凭据池中,各所述预设凭据存储至所述凭据池的先后顺序,确定待删除凭据;
将所述目标凭据添加至所述凭据池中,替换所述待删除凭据。
5.根据权利要求4所述的请求验证方法,其特征在于,所述待删除凭据为各所述预设凭据中,首个添加至所述凭据池的预设凭据。
6.根据权利要求1、2、4或5所述的请求验证方法,其特征在于,还包括:
将所述目标凭据的有效期同步至所述目标客户端,以使所述目标客户端根据所述目标凭据的有效期,更新所述目标客户端的配置信息。
7.根据权利要求1、2、4或5所述的请求验证方法,其特征在于,还包括:
根据所述预设凭据的有效期,更新所述凭据池。
8.一种请求验证装置,其特征在于,应用于后端服务器,包括:
请求验证模块,用于根据凭据池中的预设凭据,对接收到的请求报文中的用户凭据进行验证,得到所述请求报文的请求验证结果;
凭据更新模块,用于确定所述请求验证结果为验证通过,生成目标凭据,以根据所述目标凭据更新所述凭据池中的预设凭据,并将所述目标凭据发送至目标客户端,以使所述目标客户端根据所述目标凭据,更新用于添加至所述请求报文的用户凭据。
9.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的请求验证方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的请求验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311245936.6A CN117319026A (zh) | 2023-09-25 | 2023-09-25 | 请求验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311245936.6A CN117319026A (zh) | 2023-09-25 | 2023-09-25 | 请求验证方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117319026A true CN117319026A (zh) | 2023-12-29 |
Family
ID=89249312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311245936.6A Pending CN117319026A (zh) | 2023-09-25 | 2023-09-25 | 请求验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117319026A (zh) |
-
2023
- 2023-09-25 CN CN202311245936.6A patent/CN117319026A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7042842B2 (ja) | スマートドアロックシステムに基づくオフライン検証コードの生成方法及びそのシステム | |
CN110879903B (zh) | 证据存储方法、证据验证方法及装置、设备和介质 | |
CN110291757B (zh) | 用于提供简化帐户注册服务、用户认证服务的方法及利用其的认证服务器 | |
US8615794B1 (en) | Methods and apparatus for increased security in issuing tokens | |
US8453224B2 (en) | Single sign-on authentication | |
CN101635714B (zh) | 提高网络应用安全性的方法和系统 | |
CN105007302B (zh) | 一种移动终端数据存储方法 | |
CN103179134A (zh) | 基于Cookie的单点登录方法、系统及其应用服务器 | |
CN101594232B (zh) | 动态口令的认证方法、系统及相应认证设备 | |
US9916308B2 (en) | Information processing system, document managing server, document managing method, and storage medium | |
CN105337949A (zh) | 一种SSO认证方法、web服务器、认证中心和token校验中心 | |
CN103139200A (zh) | 一种web service单点登录的方法 | |
CN103262466A (zh) | 认证系统、认证服务器、服务提供服务器、认证方法和计算机可读记录介质 | |
CN105516133A (zh) | 用户身份的验证方法、服务器及客户端 | |
JP5801482B2 (ja) | キーバリューストレージに対するデータの保存および読み出しを行う方法およびシステム | |
US11777942B2 (en) | Transfer of trust between authentication devices | |
CN113505354B (zh) | 一种数据处理方法、装置及存储介质 | |
KR20160043456A (ko) | Otp 기반 인증 시스템 및 방법 | |
US9461986B2 (en) | Single sign-on for disparate servers | |
EP3796613A1 (en) | Techniques for repeat authentication | |
CN101902329A (zh) | 用于单点登录的方法和装置 | |
CN110601832A (zh) | 一种数据访问方法及装置 | |
CN113676452A (zh) | 基于一次性密钥的重放攻击抵御方法及系统 | |
CN113987062A (zh) | 一种数据上链存储方法、系统、装置以及存储介质 | |
CN111092864B (zh) | 一种会话保护方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |