CN112751878A - 一种页面请求处理方法及装置 - Google Patents
一种页面请求处理方法及装置 Download PDFInfo
- Publication number
- CN112751878A CN112751878A CN202011643345.0A CN202011643345A CN112751878A CN 112751878 A CN112751878 A CN 112751878A CN 202011643345 A CN202011643345 A CN 202011643345A CN 112751878 A CN112751878 A CN 112751878A
- Authority
- CN
- China
- Prior art keywords
- verification
- token
- client
- request
- server
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000012795 verification Methods 0.000 claims abstract description 241
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 21
- 238000010200 validation analysis Methods 0.000 claims description 47
- 230000032683 aging Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 23
- 230000007123 defense Effects 0.000 abstract description 34
- 230000005540 biological transmission Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000000977 initiatory effect Effects 0.000 description 7
- 238000003491 array Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
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
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/068—Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
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)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种页面请求处理方法及装置,应用于网络安全领域,其中,应用于服务器的方法可以包括:接收客户端同时发送的多个请求以及每一请求携带的验证令牌;利用本地存储的验证数组对验证令牌进行验证,并将验证过的验证令牌从验证数组中删除;当验证令牌验证通过时,生成新的验证令牌,并将新的验证令牌添加至验证数组中;向客户端返回与通过验证的请求对应的响应以及新的验证令牌,以使客户端存储接收到新的验证令牌。在上述方案中,通过在前端以及后端之间管理和维护多个验证令牌,并及时更新使用过的验证令牌,从而在实现CSRF防御的基础上,扩大防御CSRF的适用范围,使得本申请实施例提供的防御方法可以兼容并行会话。
Description
技术领域
本申请涉及网络安全领域,具体而言,涉及一种页面请求处理方法及装置。
背景技术
目前,在全球广域网(World Wide Web,Web)的用户身份验证中,简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。跨站请求伪造(Cross-site Request Forgery,CSRF)即是利用上述漏洞,攻击者通过欺骗浏览器访问曾经认证过的网站,从而能够运行伪造的操作(例如:发邮件、发消息、财产操作等),为用户带来损失。
在现有技术中,为了防御CSRF,在构造请求时一般会使用一个一次有效的校验值交由后端校验,后端校验成功后再为前端的下一次请求分配新的一次有效校验值,以此循环。这样,由于攻击者无法伪造正确的校验值,且该校验值生命周期很短,因此,攻击者将无法通过网站的校验。
但是,采用上述的防御方法无法兼容并行会话。当用户使用选项卡式的浏览或者利用多个浏览器窗口浏览一个站点时,只能成功的对最后一个打开的表单进行验证,且会误杀之前的表单,因此,会导致并行会话不可用,也就是说,防御CSRF的适用范围较小。
发明内容
本申请实施例的目的在于提供一种页面请求处理方法及装置,用以解决防御CSRF的适用范围较小的技术问题。
为了实现上述目的,本申请实施例所提供的技术方案如下所示:
第一方面,本申请实施例提供一种页面请求处理方法,应用于服务器,包括:接收客户端同时发送的多个请求以及每一请求携带的验证令牌;利用本地存储的验证数组对所述验证令牌进行验证,并将验证过的验证令牌从所述验证数组中删除;其中,所述验证数组包括多个验证令牌;当所述验证令牌验证通过时,生成新的验证令牌,并将所述新的验证令牌添加至所述验证数组中;向所述客户端返回与所述请求对应的响应以及所述新的验证令牌,以使所述客户端存储接收到所述新的验证令牌。在上述方案中,通过在前端(客户端)以及后端(服务器)之间管理和维护多个验证令牌,并及时更新使用过的验证令牌,从而在实现CSRF防御的基础上,扩大防御CSRF的适用范围,使得本申请实施例提供的防御方法可以兼容并行会话。
在本申请的可选实施例中,在所述接收客户端同时发送的多个请求以及每一请求携带的验证令牌之前,所述方法还包括:接收所述客户端发送的登录请求,以根据所述登录请求与所述客户端建立连接;生成所述验证数组,并向所述客户端发送所述验证数组。在上述方案中,客户端与服务器之间通过用户登陆建立连接关系之后,服务器可以生成包括多个验证令牌的验证数据并发送给客户端,以使客户端在向服务器发起并行会话时实现可以CSRF防御,因此,扩大了防御CSRF的适用范围。
在本申请的可选实施例中,所述生成所述验证数组,包括:生成所述验证数组以及与所述验证数组中每一个验证令牌对应的老化时间,以使在到达所述老化时间后,更新对应的验证令牌。在上述方案中,生成的验证令牌可以对应一个老化时间,从而进一步提高客户端与服务器进行数据传输时的安全性。
在本申请的可选实施例中,所述接收客户端同时发送的多个请求以及每一请求携带的验证令牌,包括:接收所述客户端发送的加密数据包;对所述加密数据包进行解密,得到所述请求以及所述验证令牌。在上述方案中,在客户端与服务器进行数据传输的而过程中,可以对传输的数据进行加密,从而进一步提高客户端与服务器进行数据传输时的安全性。
第二方面,本申请实施例提供一种页面请求处理方法,应用于客户端,包括:当同时发起多个请求时,从本地存储的验证数组中为每一请求分配一个验证令牌,并将分配过的验证令牌从所述验证数组中删除;其中,所述验证数组包括多个验证令牌;向服务器发送所述请求以及所述验证令牌,以使所述服务器对所述验证令牌进行验证;当所述验证令牌验证通过时,接收所述服务器返回的与所述请求对应的响应以及新的验证令牌;将所述新的验证令牌添加至所述验证数组中。在上述方案中,通过在前端(客户端)以及后端(服务器)之间管理和维护多个验证令牌,并及时更新使用过的验证令牌,从而在实现CSRF防御的基础上,扩大防御CSRF的适用范围,使得本申请实施例提供的防御方法可以兼容并行会话。
在本申请的可选实施例中,在所述当同时发起多个请求时,从本地存储的验证数组中为每一请求分配一个验证令牌,并将分配过的验证令牌从所述验证数组中删除之前,所述方法还包括:获取用户登录信息;根据所述用户登录信息向所述服务器发送登录请求,以根据所述登录请求与所述服务器建立连接;接收所述服务器发送的所述验证数组。在上述方案中,客户端与服务器之间通过用户登陆建立连接关系之后,客户端可以接收服务器生成的包括多个验证令牌的验证数据,从而使得客户端在向服务器发起并行会话时实现可以CSRF防御,因此,扩大了防御CSRF的适用范围。
在本申请的可选实施例中,所述向服务器发送所述请求以及所述验证令牌,包括:对所述请求以及所述验证令牌进行加密,得到加密数据包;向所述服务器发送所述加密数据包。在上述方案中,在客户端与服务器进行数据传输的而过程中,可以对传输的数据进行加密,从而进一步提高客户端与服务器进行数据传输时的安全性。
第三方面,本申请实施例提供一种页面请求处理装置,应用于服务器,包括:第一接收模块,用于接收客户端同时发送的多个请求以及每一请求携带的验证令牌;验证模块,用于利用本地存储的验证数组对所述验证令牌进行验证,并将验证过的验证令牌从所述验证数组中删除;其中,所述验证数组包括多个验证令牌;第一生成模块,用于当所述验证令牌验证通过时,生成新的验证令牌,并将所述新的验证令牌添加至所述验证数组中;返回模块,用于向所述客户端返回与所述请求对应的响应以及所述新的验证令牌,以使所述客户端存储接收到所述新的验证令牌。在上述方案中,通过在前端(客户端)以及后端(服务器)之间管理和维护多个验证令牌,并及时更新使用过的验证令牌,从而在实现CSRF防御的基础上,扩大防御CSRF的适用范围,使得本申请实施例提供的防御方法可以兼容并行会话。
在本申请的可选实施例中,所述装置还包括:第三接收模块,用于接收所述客户端发送的登录请求,以根据所述登录请求与所述客户端建立连接;第二生成模块,用于生成所述验证数组,并向所述客户端发送所述验证数组。在上述方案中,客户端与服务器之间通过用户登陆建立连接关系之后,服务器可以生成包括多个验证令牌的验证数据并发送给客户端,以使客户端在向服务器发起并行会话时实现可以CSRF防御,因此,扩大了防御CSRF的适用范围。
在本申请的可选实施例中,所述第二生成模块还用于:生成所述验证数组以及与所述验证数组中每一个验证令牌对应的老化时间,以使在到达所述老化时间后,更新对应的验证令牌。在上述方案中,生成的验证令牌可以对应一个老化时间,从而进一步提高客户端与服务器进行数据传输时的安全性。
在本申请的可选实施例中,所述第一接收模块还用于:接收所述客户端发送的加密数据包;对所述加密数据包进行解密,得到所述请求以及所述验证令牌。在上述方案中,在客户端与服务器进行数据传输的而过程中,可以对传输的数据进行加密,从而进一步提高客户端与服务器进行数据传输时的安全性。
第四方面,本申请实施例提供一种页面请求处理装置,应用于客户端,包括:分配模块,用于当同时发起多个请求时,从本地存储的验证数组中为每一请求分配一个验证令牌,并将分配过的验证令牌从所述验证数组中删除;其中,所述验证数组包括多个验证令牌;发送模块,用于向服务器发送所述请求以及所述验证令牌,以使所述服务器对所述验证令牌进行验证;第二接收模块,用于当所述验证令牌验证通过时,接收所述服务器返回的与所述请求对应的响应以及新的验证令牌;添加模块,用于将所述新的验证令牌添加至所述验证数组中。在上述方案中,通过在前端(客户端)以及后端(服务器)之间管理和维护多个验证令牌,并及时更新使用过的验证令牌,从而在实现CSRF防御的基础上,扩大防御CSRF的适用范围,使得本申请实施例提供的防御方法可以兼容并行会话。
在本申请的可选实施例中,所述装置还包括:获取模块,用于获取用户登录信息;建立模块,用于根据所述用户登录信息向所述服务器发送登录请求,以根据所述登录请求与所述服务器建立连接;第四接收模块,用于接收所述服务器发送的所述验证数组。在上述方案中,客户端与服务器之间通过用户登陆建立连接关系之后,客户端可以接收服务器生成的包括多个验证令牌的验证数据,从而使得客户端在向服务器发起并行会话时实现可以CSRF防御,因此,扩大了防御CSRF的适用范围。
在本申请的可选实施例中,所述发送模块还用于:对所述请求以及所述验证令牌进行加密,得到加密数据包;向所述服务器发送所述加密数据包。在上述方案中,在客户端与服务器进行数据传输的而过程中,可以对传输的数据进行加密,从而进一步提高客户端与服务器进行数据传输时的安全性。
第五方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面或者第二方面中的页面请求处理方法。
第六方面,本申请实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面或者第二方面中的页面请求处理方法。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举本申请实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种页面请求处理系统的结构框图;
图2为本申请实施例提供的服务器与客户端建立连接的过程的流程图;
图3为本申请实施例提供的一种页面请求处理方法的流程图;
图4为本申请实施例提供的一种应用于服务器的页面请求处理装置的结构框图;
图5为本申请实施例提供的一种应用于客户端的页面请求处理装置的结构框图;
图6为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
请参照图1,图1为本申请实施例提供的一种页面请求处理系统的结构框图,在该页面请求处理系统100中可以包括服务器101以及客户端102。其中,服务器101以及客户端102之间可以通过有线或者无线的方式进行通信连接,也就是说,客户端102可以向服务器101发送请求且服务器101可以根据接收到的请求向客户端102返回对应的响应。
以用户通过客户端102界面上的浏览器界面访问服务器101为例。当用户使用选项卡式的浏览或者利用多个浏览器窗口浏览一个站点时,可以认为客户端102执行并行会话,同时向服务器101发起请求,此时,采用现有技术中使用一个一次有效的校验值的方式无法对每一并行会话进行CSRF防御。
基于上述分析,本申请实施例提供一种页面请求处理方法,该页面请求处理方法可以应用于上述页面请求处理系统100,在保障CSRF防御的同时,支持并行会话,易用性更高,适用范围更广。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参照图2,图2为本申请实施例提供的服务器与客户端建立连接的过程的流程图,服务器与客户端建立连接的过程可以包括如下步骤:
步骤S201:客户端获取用户登录信息。
步骤S202:客户端根据用户登录信息向服务器发送登录请求,以根据登录请求与服务器建立连接。
步骤S203:服务器接收客户端发送的登录请求,以根据登录请求与客户端建立连接。
步骤S204:服务器生成验证数组,并向客户端发送验证数组。
步骤S205:客户端接收服务器发送的验证数组。
具体的,客户端可以获取用户登录信息并向服务器发送登陆请求,服务器接收到客户端发送的登陆请求之后可以向客户端返回对应的响应,客户端以及服务器基于登录请求以及返回的响应,可以建立起两者之间的连接关系。
其中,客户端获取用户登录信息的方式有多种,例如:用户可以通过客户端的交互界面输入登录信息、客户端也可以从云端直接读取用户的登录信息等,本申请实施例对此不作具体的限定。
服务器与客户端建立连接之后,服务器可以生成一个验证数组并发送给客户端,客户端与服务器均存储该验证数组。其中,该验证数组可以包括多个验证令牌(token),每个验证令牌用于验证客户端向服务器发送的请求的真实性。
作为一种实施方式,服务器可以随机生成多个验证值作为验证令牌。其中,本申请实施例对验证令牌的具体验证值以及生成的验证令牌的数量不作具体的限定,例如:服务器可以生成1-100共100个验证令牌、服务器也可以生成随机数量的无规律的验证令牌,本申请实施例对此同样不作具体的限定。
作为另一种实施方式,管理人员可以事先设置生成的验证令牌的数量以及生成的验证令牌的具体验证值,服务器执行上述设置即可。其中,管理员设置的验证令牌的数量可以大于客户端可以同时发起的请求的数量。
服务器在生成验证数组时,为例提高客户端与服务器进行数据传输时的安全性,可以同时生成每个验证令牌的老化时间,也就是说,上述步骤S204可以包括如下步骤:
生成验证数组以及与验证数组中每一个验证令牌对应的老化时间,以使在到达老化时间后,更新对应的验证令牌。
其中,服务器针对每个验证令牌生成一个老化时间之后,可以将验证令牌与老化时间一起发送给客户端,这样,服务器与客户端除了存储有验证令牌,还存储有每个验证令牌时间对应的老化时间。当某一个验证令牌的老化时间到达后,服务器以及客户端可以将各自存储的验证数组中的该令牌删除。
作为一种实施方式,服务器以及客户端在删除老化时间到达后的验证令牌之后,服务器可以生成新的验证令牌以及对应的老化时间并发送给客户端,以补充服务器以及客户端的验证数组中的验证令牌。
显然,作为另一种实施方式,服务器以及客户端在删除老化时间到达后的验证令牌之后,服务器也可以不立即生新的验证令牌,而是在服务器以及客户端的验证数组中的验证令牌的数量少于一个预设阈值时,再补充新的验证令牌。
同样的,本申请实施例对老化时间的长短不作具体的限定且,多个验证令牌的老化时间可以相同也可以不相同,本领域技术人员可以根据实际情况进行合适的调整。其中,本领域技术人员设置的老化时间的长短可以大于心跳报文交互的周期。
在上述方案中,客户端与服务器之间通过用户登陆建立连接关系之后,服务器可以生成包括多个验证令牌的验证数据并发送给客户端,以使客户端在向服务器发起并行会话时实现可以CSRF防御,因此,扩大了防御CSRF的适用范围。
在服务器与客户端建立连接并且分别存储有对应的验证数组之后,当客户端向服务器发起请求时,可以执行本申请实施例提供的页面请求处理方法。可以理解的是,当客户端向服务器发起一个单一请求时,本领域技术人员可以结合现有技术实现验证,本申请实施例对此不再赘述。下面介绍当客户端向服务器发起并行会话时的验证过程。
请参照图3,图3为本申请实施例提供的一种页面请求处理方法的流程图,该页面请求处理方法可以包括如下步骤:
步骤S301:当客户端同时发起多个请求时,从本地存储的验证数组中为每一请求分配一个验证令牌,并将分配过的验证令牌从验证数组中删除。
步骤S302:客户端向服务器发送请求以及验证令牌。
步骤S303:服务器接收客户端同时发送的多个请求以及每一请求携带的验证令牌。
步骤S304:服务器利用本地存储的验证数组对验证令牌进行验证,并将验证过的验证令牌从验证数组中删除。
步骤S305:当验证令牌验证通过时,服务器生成新的验证令牌,并将新的验证令牌添加至验证数组中。
步骤S306:服务器向客户端返回与请求对应的响应以及新的验证令牌。
步骤S307:客户端接收服务器返回的与通过验证的请求对应的响应以及新的验证令牌。
步骤S308:客户端将新的验证令牌添加至验证数组中。
具体的,当客户端同时向服务器发起多个请求时,可以从本地存储的验证数组中为每一个请求分配一个不同的验证令牌并删除验证数据中对应的验证令牌。然后,客户端将请求及其对应的验证令牌同时发送给服务器进行验证。
其中,客户端可以将请求以及验证令牌打包发送给服务器,也可以将验证令牌添加至请求的报文中将报文发送给服务器。举例来说,若客户端向服务器发送的请求为HTTP请求,则可以将验证令牌放到HTTP头中的自定义属性中,也可以将验证令牌作为HTTP报文体中的一个参数等,本申请实施例对此不作具体的限定,本领域技术人员可以根据实际情况进行合适的调整。
服务器在接收到多个请求以及每个请求对应的验证令牌之后,针对每一个请求以及对应的验证令牌,服务器可以利用本地存储的验证数组对验证令牌进行验证,并将该验证令牌从验证数组中删除。其中,验证之后的结果存在两种情况:第一种,该验证令牌验证未通过;第二种,该验证令牌验证通过。
针对上述第一种情况,服务器可以与客户端断开连接,且服务器以及客户端可以释放各自存储的验证数组。
针对上述第二种情况,服务器可以生成一个新的验证令牌,并将该新的验证令牌添加至验证数组中。当服务器向客户端返回与上述通过验证的请求对应的响应时,同时向客户端发送上述新生成的验证令牌。同样的,服务器可以将请求以及验证令牌打包发送给客户端,也可以将验证令牌添加至请求的报文中将报文发送给客户端,本申请实施例对此同样不作具体的限定。
客户端在接收到服务器返回的请求对应的响应以及新的验证令牌之后,可以将新的验证令牌添加至验证数组中,以使后续发起请求时可以重复上述的页面请求处理方法。
可以理解的时,当服务器与客户端之间的连接关闭时,服务器以及客户端可以释放各自的验证数组。
作为一种实施方式,服务器与客户端在传输数据的过程中,为了提高安全性,还可以采用加密传输的方式。也就是说,上述服务器与客户端数据传输的过程具体可以包括如下步骤:
第一步,客户端对请求以及验证令牌进行加密,得到加密数据包。
第二步,客户端向服务器发送加密数据包。
第三步,服务器接收客户端发送的加密数据包。
第四步,服务器对加密数据包进行解密,得到请求以及验证令牌。
在上述方案中,通过在前端(客户端)以及后端(服务器)之间管理和维护多个验证令牌,并及时更新使用过的验证令牌,从而在实现CSRF防御的基础上,扩大防御CSRF的适用范围,使得本申请实施例提供的防御方法可以兼容并行会话。
请参照图4,图4为本申请实施例提供的一种应用于服务器的页面请求处理装置的结构框图,该页面请求处理装置400可以包括:第一接收模块401,用于接收客户端同时发送的多个请求以及每一请求携带的验证令牌;验证模块402,用于利用本地存储的验证数组对所述验证令牌进行验证,并将验证过的验证令牌从所述验证数组中删除;其中,所述验证数组包括多个验证令牌;第一生成模块403,用于当所述验证令牌验证通过时,生成新的验证令牌,并将所述新的验证令牌添加至所述验证数组中;返回模块404,用于向所述客户端返回与所述请求对应的响应以及所述新的验证令牌,以使所述客户端存储接收到所述新的验证令牌。
在本申请实施例中,通过在前端(客户端)以及后端(服务器)之间管理和维护多个验证令牌,并及时更新使用过的验证令牌,从而在实现CSRF防御的基础上,扩大防御CSRF的适用范围,使得本申请实施例提供的防御方法可以兼容并行会话。
进一步的,所述页面请求处理装置400还包括:第三接收模块,用于接收所述客户端发送的登录请求,以根据所述登录请求与所述客户端建立连接;第二生成模块,用于生成所述验证数组,并向所述客户端发送所述验证数组。
在本申请实施例中,客户端与服务器之间通过用户登陆建立连接关系之后,服务器可以生成包括多个验证令牌的验证数据并发送给客户端,以使客户端在向服务器发起并行会话时实现可以CSRF防御,因此,扩大了防御CSRF的适用范围。
进一步的,所述第二生成模块还用于:生成所述验证数组以及与所述验证数组中每一个验证令牌对应的老化时间,以使在到达所述老化时间后,更新对应的验证令牌。
在本申请实施例中,生成的验证令牌可以对应一个老化时间,从而进一步提高客户端与服务器进行数据传输时的安全性。
进一步的,所述第一接收模块401还用于:接收所述客户端发送的加密数据包;对所述加密数据包进行解密,得到所述请求以及所述验证令牌。
在本申请实施例中,在客户端与服务器进行数据传输的而过程中,可以对传输的数据进行加密,从而进一步提高客户端与服务器进行数据传输时的安全性。
请参照图5,图5为本申请实施例提供的一种应用于客户端的页面请求处理装置的结构框图,该页面请求处理装置500可以包括:分配模块501,用于当同时发起多个请求时,从本地存储的验证数组中为每一请求分配一个验证令牌,并将分配过的验证令牌从所述验证数组中删除;其中,所述验证数组包括多个验证令牌;发送模块502,用于向服务器发送所述请求以及所述验证令牌,以使所述服务器对所述验证令牌进行验证;第二接收模块503,用于当所述验证令牌验证通过时,接收所述服务器返回的与所述请求对应的响应以及新的验证令牌;添加模块504,用于将所述新的验证令牌添加至所述验证数组中。
在本申请实施例中,通过在前端(客户端)以及后端(服务器)之间管理和维护多个验证令牌,并及时更新使用过的验证令牌,从而在实现CSRF防御的基础上,扩大防御CSRF的适用范围,使得本申请实施例提供的防御方法可以兼容并行会话。
进一步的,所述页面请求处理装置500还包括:获取模块,用于获取用户登录信息;建立模块,用于根据所述用户登录信息向所述服务器发送登录请求,以根据所述登录请求与所述服务器建立连接;第四接收模块,用于接收所述服务器发送的所述验证数组。
在本申请实施例中,客户端与服务器之间通过用户登陆建立连接关系之后,客户端可以接收服务器生成的包括多个验证令牌的验证数据,从而使得客户端在向服务器发起并行会话时实现可以CSRF防御,因此,扩大了防御CSRF的适用范围。
进一步的,所述发送模块502还用于:对所述请求以及所述验证令牌进行加密,得到加密数据包;向所述服务器发送所述加密数据包。
在本申请实施例中,在客户端与服务器进行数据传输的而过程中,可以对传输的数据进行加密,从而进一步提高客户端与服务器进行数据传输时的安全性。
请参照图6,图6为本申请实施例提供的一种电子设备的结构框图,该电子设备600包括:至少一个处理器601,至少一个通信接口602,至少一个存储器603和至少一个通信总线604。其中,通信总线604用于实现这些组件直接的连接通信,通信接口602用于与其他节点设备进行信令或数据的通信,存储器603存储有处理器601可执行的机器可读指令。当电子设备600运行时,处理器601与存储器603之间通过通信总线604通信,机器可读指令被处理器601调用时执行上述页面请求处理方法。
例如,本申请实施例的处理器601通过通信总线604从存储器603读取计算机程序并执行该计算机程序可以实现如下方法:步骤S201:当客户端同时发起多个请求时,从本地存储的验证数组中为每一请求分配一个验证令牌,并将分配过的验证令牌从验证数组中删除。步骤S202:客户端向服务器发送请求以及验证令牌。步骤S203:服务器接收客户端同时发送的多个请求以及每一请求携带的验证令牌。步骤S204:服务器利用本地存储的验证数组对验证令牌进行验证,并将验证过的验证令牌从验证数组中删除。步骤S205:当验证令牌验证通过时,服务器生成新的验证令牌,并将新的验证令牌添加至验证数组中。步骤S206:服务器向客户端返回与通过验证的请求对应的响应以及新的验证令牌。步骤S206:客户端接收服务器返回的与通过验证的请求对应的响应以及新的验证令牌。步骤S208:客户端将新的验证令牌添加至验证数组中。
处理器601可以是一种集成电路芯片,具有信号处理能力。上述处理器601可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器603可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
可以理解,图6所示的结构仅为示意,电子设备600还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。于本申请实施例中,电子设备600可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备、车载设备等实体设备,还可以是虚拟机等虚拟设备。另外,电子设备600也不一定是单台设备,还可以是多台设备的组合,例如服务器集群,等等。于本申请实施例中,页面请求处理方法中的服务器以及客户端均可以采用图6示出的电子设备600实现。
本申请实施例还提供一种计算机程序产品,包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述实施例中页面请求处理方法的步骤,例如包括:接收客户端同时发送的多个请求以及每一请求携带的验证令牌;利用本地存储的验证数组对所述验证令牌进行验证,并将验证过的验证令牌从所述验证数组中删除;其中,所述验证数组包括多个验证令牌;当所述验证令牌验证通过时,生成新的验证令牌,并将所述新的验证令牌添加至所述验证数组中;向所述客户端返回与所述通过验证的请求对应的响应以及所述新的验证令牌,以使所述客户端存储接收到所述新的验证令牌。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种页面请求处理方法,其特征在于,应用于服务器,包括:
接收客户端同时发送的多个请求以及每一请求携带的验证令牌;
利用本地存储的验证数组对所述验证令牌进行验证,并将验证过的验证令牌从所述验证数组中删除;其中,所述验证数组包括多个验证令牌;
当所述验证令牌验证通过时,生成新的验证令牌,并将所述新的验证令牌添加至所述验证数组中;
向所述客户端返回与所述请求对应的响应以及所述新的验证令牌,以使所述客户端存储接收到所述新的验证令牌。
2.根据权利要求1所述的页面请求处理方法,其特征在于,在所述接收客户端同时发送的多个请求以及每一请求携带的验证令牌之前,所述方法还包括:
接收所述客户端发送的登录请求,以根据所述登录请求与所述客户端建立连接;
生成所述验证数组,并向所述客户端发送所述验证数组。
3.根据权利要求2所述的页面请求处理方法,其特征在于,所述生成所述验证数组,包括:
生成所述验证数组以及与所述验证数组中每一个验证令牌对应的老化时间,以使在到达所述老化时间后,更新对应的验证令牌。
4.根据权利要求1所述的页面请求处理方法,其特征在于,所述接收客户端同时发送的多个请求以及每一请求携带的验证令牌,包括:
接收所述客户端发送的加密数据包;
对所述加密数据包进行解密,得到所述请求以及所述验证令牌。
5.一种页面请求处理方法,其特征在于,应用于客户端,包括:
当同时发起多个请求时,从本地存储的验证数组中为每一请求分配一个验证令牌,并将分配过的验证令牌从所述验证数组中删除;其中,所述验证数组包括多个验证令牌;
向服务器发送所述请求以及所述验证令牌,以使所述服务器对所述验证令牌进行验证;
当所述验证令牌验证通过时,接收所述服务器返回的与所述请求对应的响应以及新的验证令牌;
将所述新的验证令牌添加至所述验证数组中。
6.根据权利要求5所述的页面请求处理方法,其特征在于,在所述当同时发起多个请求时,从本地存储的验证数组中为每一请求分配一个验证令牌,并将分配过的验证令牌从所述验证数组中删除之前,所述方法还包括:
获取用户登录信息;
根据所述用户登录信息向所述服务器发送登录请求,以根据所述登录请求与所述服务器建立连接;
接收所述服务器发送的所述验证数组。
7.根据权利要求5所述的页面请求处理方法,其特征在于,所述向服务器发送所述请求以及所述验证令牌,包括:
对所述请求以及所述验证令牌进行加密,得到加密数据包;
向所述服务器发送所述加密数据包。
8.一种页面请求处理装置,其特征在于,应用于服务器,包括:
第一接收模块,用于接收客户端同时发送的多个请求以及每一请求携带的验证令牌;
验证模块,用于利用本地存储的验证数组对所述验证令牌进行验证,并将验证过的验证令牌从所述验证数组中删除;其中,所述验证数组包括多个验证令牌;
第一生成模块,用于当所述验证令牌验证通过时,生成新的验证令牌,并将所述新的验证令牌添加至所述验证数组中;
返回模块,用于向所述客户端返回与所述请求对应的响应以及所述新的验证令牌,以使所述客户端存储接收到所述新的验证令牌。
9.一种页面请求处理装置,其特征在于,应用于客户端,包括:
分配模块,用于当同时发起多个请求时,从本地存储的验证数组中为每一请求分配一个验证令牌,并将分配过的验证令牌从所述验证数组中删除;其中,所述验证数组包括多个验证令牌;
发送模块,用于向服务器发送所述请求以及所述验证令牌,以使所述服务器对所述验证令牌进行验证;
第二接收模块,用于当所述验证令牌验证通过时,接收所述服务器返回的与所述请求对应的响应以及新的验证令牌;
添加模块,用于将所述新的验证令牌添加至所述验证数组中。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线;
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-4任一项所述的页面请求处理方法或者5-7任意性所述的页面请求处理方法。
11.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1-4任一项所述的页面请求处理方法或者5-7任意性所述的页面请求处理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202011643345.0A CN112751878B (zh) | 2020-12-30 | 2020-12-30 | 一种页面请求处理方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202011643345.0A CN112751878B (zh) | 2020-12-30 | 2020-12-30 | 一种页面请求处理方法及装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN112751878A true CN112751878A (zh) | 2021-05-04 |
| CN112751878B CN112751878B (zh) | 2023-03-24 |
Family
ID=75651261
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202011643345.0A Active CN112751878B (zh) | 2020-12-30 | 2020-12-30 | 一种页面请求处理方法及装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN112751878B (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114172664A (zh) * | 2021-12-07 | 2022-03-11 | 北京天融信网络安全技术有限公司 | 数据加密、数据解密方法、装置、电子设备及存储介质 |
| CN115208577A (zh) * | 2022-06-28 | 2022-10-18 | 广西电网有限责任公司电力科学研究院 | 基于在线交互式web动态防御的随机令牌生成方法 |
| CN119363818A (zh) * | 2024-10-09 | 2025-01-24 | 青岛海尔科技有限公司 | 消息延迟推送方法、程序产品、存储介质及电子设备 |
Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130159248A1 (en) * | 2011-12-20 | 2013-06-20 | Klaus Otto Mueller | Merge monitor for table delta partitions |
| CN103561417A (zh) * | 2013-11-08 | 2014-02-05 | 五八同城信息技术有限公司 | 提高移动客户端产品对用户请求的响应质量的方法 |
| US8966599B1 (en) * | 2013-03-14 | 2015-02-24 | Amazon Technologies, Inc. | Automatic token renewal for device authentication |
| CN106464497A (zh) * | 2014-05-23 | 2017-02-22 | 谷歌公司 | 利用低延迟会话聚合框架体系发放、传送和管理令牌的方法和系统 |
| CN107579926A (zh) * | 2017-10-20 | 2018-01-12 | 南京易捷思达软件科技有限公司 | 基于令牌桶算法的Ceph云存储系统的QoS设置方法 |
| CN108073798A (zh) * | 2016-11-08 | 2018-05-25 | Sap欧洲公司 | 执行系统运行的框架 |
| CN109547481A (zh) * | 2018-12-28 | 2019-03-29 | 深圳竹云科技有限公司 | 一种基于Redis有序集合和令牌方式的网站用户会话管理方法 |
| CN109660343A (zh) * | 2019-01-17 | 2019-04-19 | 平安科技(深圳)有限公司 | 令牌更新方法、装置、计算机设备及存储介质 |
| US20190333055A1 (en) * | 2018-04-27 | 2019-10-31 | Visa International Service Association | Secure authentication system with token service |
| CN111478910A (zh) * | 2020-04-09 | 2020-07-31 | 北京金堤科技有限公司 | 用户身份验证方法和装置、电子设备以及存储介质 |
| CN111478923A (zh) * | 2020-04-28 | 2020-07-31 | 华为技术有限公司 | 访问请求的响应方法、装置和电子设备 |
-
2020
- 2020-12-30 CN CN202011643345.0A patent/CN112751878B/zh active Active
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130159248A1 (en) * | 2011-12-20 | 2013-06-20 | Klaus Otto Mueller | Merge monitor for table delta partitions |
| US8966599B1 (en) * | 2013-03-14 | 2015-02-24 | Amazon Technologies, Inc. | Automatic token renewal for device authentication |
| CN103561417A (zh) * | 2013-11-08 | 2014-02-05 | 五八同城信息技术有限公司 | 提高移动客户端产品对用户请求的响应质量的方法 |
| CN106464497A (zh) * | 2014-05-23 | 2017-02-22 | 谷歌公司 | 利用低延迟会话聚合框架体系发放、传送和管理令牌的方法和系统 |
| CN108073798A (zh) * | 2016-11-08 | 2018-05-25 | Sap欧洲公司 | 执行系统运行的框架 |
| CN107579926A (zh) * | 2017-10-20 | 2018-01-12 | 南京易捷思达软件科技有限公司 | 基于令牌桶算法的Ceph云存储系统的QoS设置方法 |
| US20190333055A1 (en) * | 2018-04-27 | 2019-10-31 | Visa International Service Association | Secure authentication system with token service |
| CN109547481A (zh) * | 2018-12-28 | 2019-03-29 | 深圳竹云科技有限公司 | 一种基于Redis有序集合和令牌方式的网站用户会话管理方法 |
| CN109660343A (zh) * | 2019-01-17 | 2019-04-19 | 平安科技(深圳)有限公司 | 令牌更新方法、装置、计算机设备及存储介质 |
| CN111478910A (zh) * | 2020-04-09 | 2020-07-31 | 北京金堤科技有限公司 | 用户身份验证方法和装置、电子设备以及存储介质 |
| CN111478923A (zh) * | 2020-04-28 | 2020-07-31 | 华为技术有限公司 | 访问请求的响应方法、装置和电子设备 |
Non-Patent Citations (2)
| Title |
|---|
| SXSNWANGRENFEI: ""Token方式防御CSRF攻击,当打开多个页面,前面的页面失效怎么办"", 《HTTPS://SEGMENTFAULT.COM/Q/1010000020696206,SXSNWANGRENFEI》 * |
| 大陶陶: ""web安全之token"", 《HTTPS://WWW.CNBLOGS.COM/BUKUDEKONG/P/3829875.HTML》 * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114172664A (zh) * | 2021-12-07 | 2022-03-11 | 北京天融信网络安全技术有限公司 | 数据加密、数据解密方法、装置、电子设备及存储介质 |
| CN114172664B (zh) * | 2021-12-07 | 2024-02-09 | 天融信雄安网络安全技术有限公司 | 数据加密、数据解密方法、装置、电子设备及存储介质 |
| CN115208577A (zh) * | 2022-06-28 | 2022-10-18 | 广西电网有限责任公司电力科学研究院 | 基于在线交互式web动态防御的随机令牌生成方法 |
| CN119363818A (zh) * | 2024-10-09 | 2025-01-24 | 青岛海尔科技有限公司 | 消息延迟推送方法、程序产品、存储介质及电子设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112751878B (zh) | 2023-03-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10263969B2 (en) | Method and apparatus for authenticated key exchange using password and identity-based signature | |
| US10630667B2 (en) | Client, server, method and identity verification system | |
| CN110177124B (zh) | 基于区块链的身份认证方法及相关设备 | |
| US9838205B2 (en) | Network authentication method for secure electronic transactions | |
| CN102946384B (zh) | 用户验证方法和设备 | |
| CN112751878B (zh) | 一种页面请求处理方法及装置 | |
| CN117579281A (zh) | 用于使用区块链的所有权验证的方法和系统 | |
| US20150381618A1 (en) | Method of mutual verification between a client and a server | |
| CN103001770B (zh) | 一种用户验证方法、服务器及系统 | |
| US20150358167A1 (en) | Certificateless Multi-Proxy Signature Method and Apparatus | |
| TW201917614A (zh) | 數位證書申請方法和裝置 | |
| CN110099048B (zh) | 一种云存储方法及设备 | |
| CN113572715A (zh) | 基于区块链的数据传输方法和系统 | |
| CN114143108B (zh) | 一种会话加密方法、装置、设备及存储介质 | |
| US20160241536A1 (en) | System and methods for user authentication across multiple domains | |
| CN108900561A (zh) | 单点登录的方法、装置及系统 | |
| CN114513350B (zh) | 身份校验方法、系统和存储介质 | |
| EP3133791B1 (en) | Double authentication system for electronically signed documents | |
| CN111062059B (zh) | 用于业务处理的方法和装置 | |
| CN114168922B (zh) | 一种基于数字证书的用户ca证书生成方法和系统 | |
| US20200382311A1 (en) | Protection of online applications and webpages using a blockchain | |
| EP2908493A2 (en) | Secure communication systems | |
| KR20120091618A (ko) | 연쇄 해시에 의한 전자서명 시스템 및 방법 | |
| CN114168923B (zh) | 一种基于数字证书的群ca证书生成方法和系统 | |
| CN110610418A (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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |