CN111212016A - 跨站请求处理方法、装置及电子设备 - Google Patents

跨站请求处理方法、装置及电子设备 Download PDF

Info

Publication number
CN111212016A
CN111212016A CN201811393935.5A CN201811393935A CN111212016A CN 111212016 A CN111212016 A CN 111212016A CN 201811393935 A CN201811393935 A CN 201811393935A CN 111212016 A CN111212016 A CN 111212016A
Authority
CN
China
Prior art keywords
request
cross
homologous
site
page
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
Application number
CN201811393935.5A
Other languages
English (en)
Other versions
CN111212016B (zh
Inventor
吕翔
韩双虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811393935.5A priority Critical patent/CN111212016B/zh
Publication of CN111212016A publication Critical patent/CN111212016A/zh
Application granted granted Critical
Publication of CN111212016B publication Critical patent/CN111212016B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/321Cryptographic 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/3213Cryptographic 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)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种跨站请求处理方法、装置及电子设备,其中,方法包括:获取浏览器中从业务处理页面发起的跨站请求,所述跨站请求用于向与发起所述跨站请求的地址不同源的目标地址获取业务数据;将所述跨站请求转换为与所述目标地址同源的同源请求,并在所述同源请求中携带用于防止跨站请求伪造的校验令牌;将所述同源请求发送至所述目标地址的服务端,以使所述服务端基于所述校验令牌对所述同源请求进行处理;接收所述服务端反馈的处理请求结果以及新生成的校验令牌,并将所述处理请求结果反馈至所述业务处理页面,将新生成的校验令牌更新替换掉当前使用的校验令牌。本发明实施例的方案,能够在有效防止CSRF的前提下对跨站请求业务进行处理。

Description

跨站请求处理方法、装置及电子设备
技术领域
本申请涉及通信技术领域,尤其涉及一种跨站请求处理方法、装置及电子设备。
背景技术
跨站请求伪造(Cross-site request forgery,CSRF)是一种对网站的恶意利用,其通过伪装来自受信任用户的请求来利用受信任的网站来实现对目标地址的恶意攻击。在主流浏览器的跨域数据访问业务中存在非常多的场景采用JSONP作为数据传输协议。但是,由于请求是跨域的,不能像传统的web应用程序把数据提交到web服务器(使用HTML表单)过程中,在页面上植入CSRF Token,因此对于一些写操作的场景,例如向一个用户转账,直接使用JSONP会有较大的安全风险。此外,JSONP协议只能用GET方式提交,因此参数只能写在URL中,很容易被截获和伪造,并且受到URL长度限制,在一些请求体比较大的场景中也不能使用。
如果使用异步JavaScript和XML(Asynchronous JavaScript And XML,AJAX)协议传输数据,受其同源性的制约,没有办法发起跨域的请求,例如页面a.taobao.com/a.html中不能通过AJAX请求访问b.taobao.com域名下的服务。
发明内容
本发明提供了一种跨站请求处理方法、装置及电子设备,能够在有效防止CSRF的前提下对跨站请求业务进行处理。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种跨站请求处理方法,包括:
获取浏览器中从业务处理页面发起的跨站请求,所述跨站请求用于向与发起所述跨站请求的地址不同源的目标地址获取业务数据;
将所述跨站请求转换为与所述目标地址同源的同源请求,并在所述同源请求中携带用于防止跨站请求伪造的校验令牌;
将所述同源请求发送至所述目标地址的服务端,以使所述服务端基于所述校验令牌对所述同源请求进行处理;
接收所述服务端反馈的处理请求结果以及新生成的校验令牌,并将所述处理请求结果反馈至所述业务处理页面,将新生成的校验令牌更新替换掉当前使用的校验令牌。
第二方面,提供了一种跨站请求处理装置,包括:
跨站请求获取模块,用于获取浏览器中从业务处理页面发起的跨站请求,所述跨站请求用于向与发起所述跨站请求的地址不同源的目标地址获取业务数据;
请求转换模块,用于将所述跨站请求转换为与所述目标地址同源的同源请求,并在所述同源请求中携带用于防止跨站请求伪造的校验令牌;
同源请求发送模块,用于将所述同源请求发送至所述目标地址的服务端,以使所述服务端基于所述校验令牌对所述同源请求进行处理;
请求反馈接收模块,用于接收所述服务端反馈的处理请求结果以及新生成的校验令牌,并将所述处理请求结果反馈至所述业务处理页面,将新生成的校验令牌更新替换掉当前使用的校验令牌。
第三方面,提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,所述程序运行时执行本发明提供的跨站请求处理方法。
本发明提供了一种跨站请求处理方法、装置及电子设备,在浏览器中的业务处理页面发起跨站请求时,通过对跨站请求进行转换,变为与目标地址同源的同源请求,并且在该同源请求中携带用于防止跨站请求伪造的校验令牌;然后,将同源请求发送至目标地址的服务端,以使服务端基于校验令牌对同源请求进行处理;最后,接收服务端反馈的处理请求结果以及新生成的校验令牌,并将处理请求结果反馈至业务处理页面,将新生成的校验令牌更新替换掉当前使用的校验令牌,从而绕过了跨站请求不能进行CSRF校验的缺陷,以及同源请求不支持跨域请求的限制,在有效防止CSRF的前提下对跨站请求业务进行处理。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例的跨站请求处理逻辑示意图;
图2为本发明实施例的跨站请求处理系统结构示意图;
图3为本发明实施例的跨站请求处理方法流程图一;
图4为本发明实施例的跨站请求处理方法流程图二;
图5为本发明实施例的跨站请求处理方法流程图三;
图6为本发明实施例的跨站请求处理装置结构图一;
图7为本发明实施例的跨站请求处理装置结构图二;
图8为本发明实施例的电子设备的结构示意。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例改善了现有技术在浏览器中从业务处理页面发起跨站请求时,无法在请求中嵌入CSRF Token,从而导致目标地址服务端不能对跨站请求做CSRF校验,以至于整个处理操作存在较大安全风险的缺陷,其核心思想是,在业务处理页面发起跨站请求时,可先将跨站请求转换为与目标地址同源的同源请求,然后就可以在该同源请求中嵌入CSRFToken,从而使得目标地址服务端在获取到该同源请求后可以对该同源请求进行CSRF校验,而实际上也是对原始的跨站请求进行CSRF校验。这样,服务端可以基于对CSRF Token的校验结果执行对原始的跨站请求执行处理业务逻辑,从而保证整个业务处理逻辑不受CSRF攻击,实现安全操作。
基于上述跨站请求处理的方案思想,图1为本发明实施例提供的跨站请求处理逻辑示意图。该处理逻辑包括:
当判断在浏览器中的某个业务处理页面存在发起跨站请求的需求时,可以预先在该业务处理页面中嵌入一个与跨站请求的目标地址同源的一个桥接页面,比如可以在业务处理页面中通过加载一个iframe标签,然后利用该iframe标签在业务处理页面中加载桥接页面。由于这个桥接页面与目标地址同源,因此可以不受同源策略限制,自由向目标地址发送GET/POST请求。
当业务处理页面通过postMessage API发起跨站请求时,桥接页面对该请求进行拦截,并将其转换为与目标地址同源的同源请求,比如AJAX请求。同时在该同源请求中嵌入CSRF Token。
桥接页面将同源请求发送至服务端网关后,先由服务端对CSRF Token进行CSRF校验,若校验通过,则执行对应的业务逻辑获得执行结果,然后执行下一步;若校验不通过,则生成相应的错误信息,然后执行下一步。服务端生成一个新的CSRF Token,并和上一步中生成结果一起拼装成最终的结果,即返回值,通过服务端网关返回给请求方,即桥接页面。桥接页面接收到返回值之后,首先用返回值中的CSRF Token替换当前缓存的Token,保证下次发送请求时使用的Token是有效的。然后把Token以外的返回结果再通过postMessage API发送给业务处理页面。业务处理页面通过postMessage API收到来自桥接页面的消息,解析出其中的返回结果,从而完成一次请求的过程。
在图1所示的逻辑中,从③桥接页面发送同源请求至服务端到⑥桥接页面接收到服务端反馈返回值的过程与现有技术中同源请求的处理过程基本相似。
而本方案较现有技术的核心改进点在于,通过在业务处理页面加载与目标地址同源的桥接页面,以将跨站请求转换为与目标地址同源的同源请求,从而可以在同源请求中嵌入CSRF Token,实现服务端对同源请求进行CSRF校验,进而实现对原始的跨站请求的CSRF校验,解决跨站请求场景中的CSRF安全风险问题。
基于图1所示的跨站请求处理逻辑,如图2所示,为本发明实施例提供的跨站请求处理系统的结构示意图。该系统包括:浏览器210、目标地址服务端220。其中:
浏览器210中内置有跨站请求处理装置230,该处理装置在接收到浏览器210中业务处理页面发出的跨站请求后,将该请求转换成与目标地址同源的同源请求,并且在该同源请求中增加了CSRF Token。
目标地址服务端220可以为业务处理页面发起的跨站请求所指向的目标地址对应的服务端。在实际应用场景中,该服务端可以为多个,分别对应不同的目标地址域。目标地址服务端220在接收到跨站请求处理装置230发出的同源请求后,基于请求中包含的CSRFToken执行业务逻辑,并将处理结果和新生成的CSRF Token以返回值的形式反馈给跨站请求处理装置230。跨站请求处理装置230从返回值中提取出CSRF Token刷新替换掉本地存储的CSRF Token,同时将处理结果反馈给业务处理页面。
进一步地,跨站请求处理装置230可以在业务处理页面中加载与跨站请求所对应的目标地址同源的桥接页面来实现将跨站请求转换为同源请求,以及在请求中增添CSRFToken的过程。
下面通过多个实施例来进一步说明本申请的技术方案。
实施例一
基于上述跨站请求处理的方案思想,如图3所示,其为本发明实施例示出的跨站请求处理方法流程图一,该方法可通过图2中所示的跨站请求处理装置230执行完成。如图3所示,该跨站请求处理方法包括如下步骤:
S310,获取浏览器中从业务处理页面发起的跨站请求,跨站请求用于向与发起跨站请求的地址不同源的目标地址获取业务数据。
其中,本方案中的跨站请求是指发起页面请求的原地址与目标地址不是同源地址。该跨站请求可采用包括:JSONP或者跨域资源共享(Cross-Origin Resource Sharing)的数据传输协议的请求。这些数据传输协议普遍不支持在请求中嵌入CSRF Token,因此目标地址服务端在接收到请求后无法对其进行CSRF校验。
通常,浏览器中业务处理页面发起跨站请求至目标地址时,是通过postMessageAPI发送跨站请求。因此,通过监听postMessage API可以拦截获得到上述跨站请求。
S320,将跨站请求转换为与目标地址同源的同源请求,并在同源请求中携带用于防止跨站请求伪造的校验令牌。
为了能够在跨站的页面请求中增加CSRF Token,本方案在业务处理页面发起跨站请求后不直接发出该请求,而是将其转换为与目标地址同源的同源请求后再发送至目标地址的服务端,如此,就可以在同源请求中携带用于防止跨站请求伪造的校验令牌(CSRFToken)。
其中,同源请求可采用包括如异步JavaScript和XML的数据传输协议。
S330,将同源请求发送至目标地址的服务端,以使服务端基于校验令牌对同源请求进行处理。
具体地,如图4所示,服务端基于校验令牌对同源请求进行处理的过程包括如下步骤:
S410,基于校验令牌对同源请求进行跨站请求伪造校验;如果校验通过,则进入步骤S420;如果校验未通过,则进入步骤S430。
S420,基于同源请求执行处理业务逻辑,并将执行结果作为处理请求结果。
如果CSRF校验通过,则认为原始的跨站请求是安全的,此时目标地址服务端可以根据同源请求中的请求体内容执行处理业务逻辑,并得到执行结果。
S430,将校验产生的错误信息作为处理请求结果;
如果CSRF校验未通过,则认为原始的跨站请求存在安全风险,此时目标地址服务端会拒绝执行同源请求,并得到相应的错误信息。
S440,生成新的校验令牌。
目标地址服务端在执行步骤S420或430的同时,还可以在本地生成一个新的校验令牌,用于替换请求端当前使用的校验令牌。
S340,接收服务端反馈的处理请求结果以及新生成的校验令牌,并将处理请求结果反馈至业务处理页面,将新生成的校验令牌更新替换掉当前使用的校验令牌。
服务端将处理请求结果以及新生成的校验令牌反馈至请求端,请求端在接收到反馈结果后,会将其中包含的处理请求结果反馈至业务处理页面,以使得业务处理页面根据这些处理请求结果执行后面的加载过程;同时,请求端还将反馈结果中包含的新生成的校验令牌更新替换掉当前使用的校验令牌,以待下次发送同源请求时使用。
本发明提供了一种跨站请求处理方法,在浏览器中的业务处理页面发起跨站请求时,通过对跨站请求进行转换,变为与目标地址同源的同源请求,并且在该同源请求中携带用于防止跨站请求伪造的校验令牌;然后,将同源请求发送至目标地址的服务端,以使服务端基于校验令牌对同源请求进行处理;最后,接收服务端反馈的处理请求结果以及新生成的校验令牌,并将处理请求结果反馈至业务处理页面,将新生成的校验令牌更新替换掉当前使用的校验令牌,从而绕过了跨站请求不能进行CSRF校验的缺陷,以及同源请求不支持跨站请求的限制,在有效防止CSRF的前提下对跨站请求业务进行处理。
实施例二
如图5所示,为本发明实施例的跨站请求处理方法流程图三,本实施例中通过在业务处理页面中嵌入一个桥接页面从而实现将跨站请求转换为与目标地址同源的同源请求以及将同源请求发送至目标地址的服务端的处理过程。如图5所示,该跨站请求处理方法包括如下步骤:
S510,在业务处理页面中加载至少一个iframe标签,在iframe标签中加载与目标地址同源的桥接页面。
在浏览器中业务处理页面初始化时,业务处理页面通过预先设置的JavaScript程序库额外加载一个iframe,在iframe中会加载与跨站请求的目标地址同源的一个桥接页面。由于这个桥接页面与目标地址同源,因此可以不受同源策略限制,自由向目标地址发送GET/POST请求。
另外,桥接页面初始化时还会做两件事:注册成为postMessage API的监听者,等待业务处理页面发起的消息;缓存目标地址域下发的CSRF Token,待下次发送同源请求时使用。
S520,通过桥接页面监听用于传送页面请求的应用程序接口,并获取跨站请求。
通常,浏览器中业务处理页面发起跨站请求至目标地址时,是通过postMessageAPI发送跨站请求,因此,通过桥接页面监听postMessage API可以拦截获得到上述跨站请求。
S530,通过在业务处理页面中加载的桥接页面将跨站请求转换为与目标地址同源的同源请求,该桥接页面与目标地址同源。
业务处理页面通过本方案提供的JavaScript程序库发起跨站请求,该请求会被转浏览器中的postMessage API调用,从而被iframe中的桥接页面接收,相当于业务处理页面向桥接页面发起了一个跨站请求。然后,桥接页面收集请求数据参数,把这些参数和缓存的CSRF Token拼装成一个如ajax请求作为同源请求。
S540,通过桥接页面将同源请求发送至目标地址的服务端。
例如,将生成的上述ajax请求发送至目标地址的服务端。
S550,接收服务端反馈的处理请求结果以及新生成的校验令牌,并将处理请求结果反馈至业务处理页面,将新生成的校验令牌更新替换掉当前使用的校验令牌。
iframe中的桥接页面收到目标地址的服务端反馈的返回值之后,首先用返回值中的CSRF Token替换当前缓存的CSRF Token,保证下次发送请求时使用的CSRF Token是有效的。然后把CSRF Token以外的返回结果再通过postMessage API发送给业务处理页面。业务处理页面通过postMessage API收到来自桥接页面的消息,解析出其中的返回结果,从而完成一次请求的过程。
进一步地,在实际应用场景中,在浏览器中同一业务处理页面可能会有多个跨站请求同时发起,加载一个iframe可能是不够的,因此本方案中针对同一业务处理页面初始化的过程中,可以同时加载多个iframe,并对应加载多个桥接页面以满足并发的跨站请求的发起需求。
本实施例与图3所示方法相比较,进一步地,通过在业务处理页面加载至少一个iframe,进而通过该iframe加载同源桥接页面的方式来绕开同源策略,可以解决如ajax请求中无法实现跨域的问题。
进一步地,桥接页面使用如ajax的同源方式发送请求,当采用POST的方式时可以不受GET方式请求对请求体大小的限制,可以解决请求体大小的问题。
进一步地,桥接页面每次发送请求时都会带上服务端下发的CSRF Token,而服务端每次收到请求时都会校验CSRF Token的有效性,因此可以解决CSRF安全风险,防止恶意用户伪造请求。
实施例三
如图6所示,为本发明实施例的跨站请求处理装置结构图一,该跨站请求处理装置可设置在图2所示的跨站请求处理系统中,用于执行如图3所示的方法步骤,其包括:
跨站请求获取模块610,用于获取浏览器中从业务处理页面发起的跨站请求,跨站请求用于向与发起跨站请求的地址不同源的目标地址获取业务数据;
请求转换模块620,用于将跨站请求转换为与目标地址同源的同源请求,并在同源请求中携带用于防止跨站请求伪造的校验令牌;
同源请求发送模块630,用于将同源请求发送至目标地址的服务端,以使服务端基于校验令牌对同源请求进行处理;
请求反馈接收模块640,用于接收服务端反馈的处理请求结果以及新生成的校验令牌,并将处理请求结果反馈至业务处理页面,将新生成的校验令牌更新替换掉当前使用的校验令牌。
进一步地,上述请求转换模块620,可具体用于通过在业务处理页面中加载的桥接页面将跨站请求转换为与目标地址同源的同源请求,该桥接页面与目标地址同源;
同源请求发送模块630,可具体用于通过桥接页面将同源请求发送至目标地址的服务端。
进一步地,上述跨站请求获取模块610可具体用于,通过桥接页面监听用于传送页面请求的应用程序接口,并获取跨站请求。
进一步地,如图7所示,在图6所示的跨站请求处理装置中还可包括:
桥接页面加载模块710,用于在业务处理页面中加载至少一个iframe标签,在iframe标签中加载与目标地址同源的桥接页面。
进一步地,上述跨站请求可采用包括:JSONP或者跨域资源共享的数据传输协议;
进一步地,上述同源请求可采用包括:异步JavaScript和XML的数据传输协议。
本发明提供了一种跨站请求处理装置,在浏览器中的业务处理页面发起跨站请求时,通过对跨站请求进行转换,变为与目标地址同源的同源请求,并且在该同源请求中携带用于防止跨站请求伪造的校验令牌;然后,将同源请求发送至目标地址的服务端,以使服务端基于校验令牌对同源请求进行处理;最后,接收服务端反馈的处理请求结果以及新生成的校验令牌,并将处理请求结果反馈至业务处理页面,将新生成的校验令牌更新替换掉当前使用的校验令牌,从而绕过了跨站请求不能进行CSRF校验的缺陷,以及同源请求不支持跨站请求的限制,在有效防止CSRF的前提下对跨站请求业务进行处理。
进一步地,通过在业务处理页面加载至少一个iframe,进而通过该iframe加载同源桥接页面的方式来绕开同源策略,可以解决如ajax请求中无法实现跨域的问题。
进一步地,桥接页面使用如ajax的同源方式发送请求,当采用POST的方式时可以不受GET方式请求对请求体大小的限制,可以解决请求体大小的问题。
进一步地,桥接页面每次发送请求时都会带上服务端下发的CSRF Token,而服务端每次收到请求时都会校验CSRF Token的有效性,因此可以解决CSRF安全风险,防止恶意用户伪造请求。
实施例四
前面实施例描述了跨站请求处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图8所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器810和处理器820。
存储器810,用于存储程序。
除上述程序之外,存储器810还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器810可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器820,耦合至存储器810,用于执行存储器810中的程序,所述程序运行时执行如图3至图5中任意一种跨站请求处理方法。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图8所示,电子设备还可以包括:通信组件830、电源组件840、音频组件850、显示器860等其它组件。图8中仅示意性给出部分组件,并不意味着电子设备只包括图8所示组件。
通信组件830被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件830经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件830还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件840,为电子设备的各种组件提供电力。电源组件840可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件850被配置为输出和/或输入音频信号。例如,音频组件850包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器810或经由通信组件830发送。在一些实施例中,音频组件850还包括一个扬声器,用于输出音频信号。
显示器860包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (12)

1.一种跨站请求处理方法,包括:
获取浏览器中从业务处理页面发起的跨站请求,所述跨站请求用于向与发起所述跨站请求的地址不同源的目标地址获取业务数据;
将所述跨站请求转换为与所述目标地址同源的同源请求,并在所述同源请求中携带用于防止跨站请求伪造的校验令牌;
将所述同源请求发送至所述目标地址的服务端,以使所述服务端基于所述校验令牌对所述同源请求进行处理;
接收所述服务端反馈的处理请求结果以及新生成的校验令牌,并将所述处理请求结果反馈至所述业务处理页面,将新生成的校验令牌更新替换掉当前使用的校验令牌。
2.根据权利要求1所述的方法,其中,所述将所述跨站请求转换为与所述目标地址同源的同源请求,并在所述同源请求中携带用于防止跨站请求伪造的校验令牌以及将所述同源请求发送至所述目标地址的服务端包括:
通过在所述业务处理页面中加载的桥接页面将所述跨站请求转换为与所述目标地址同源的同源请求,所述桥接页面与所述目标地址同源;
通过所述桥接页面将所述同源请求发送至所述目标地址的服务端。
3.根据权利要求2所述的方法,其中,所述获取浏览器中从业务处理页面发起的跨站请求包括:
通过所述桥接页面监听用于传送页面请求的应用程序接口,并获取所述跨站请求。
4.根据权利要求2或3所述的方法,其中,所述方法还包括:
在所述业务处理页面中加载至少一个iframe标签,在所述iframe标签中加载与所述目标地址同源的桥接页面。
5.根据权利要求1所述的方法,其中,所述服务端基于所述校验令牌对所述同源请求进行处理包括:
基于所述校验令牌对所述同源请求进行跨站请求伪造校验;
如果校验通过,则基于所述同源请求执行处理业务逻辑,并将执行结果作为所述处理请求结果;
如果校验未通过,则将校验产生的错误信息作为所述处理请求结果;
生成新的校验令牌。
6.根据权利要求1所述的方法,其中,
所述跨站请求采用包括:JSONP或者跨域资源共享的数据传输协议;
所述同源请求采用包括:异步JavaScript和XML的数据传输协议。
7.一种跨站请求处理装置,包括:
跨站请求获取模块,用于获取浏览器中从业务处理页面发起的跨站请求,所述跨站请求用于向与发起所述跨站请求的地址不同源的目标地址获取业务数据;
请求转换模块,用于将所述跨站请求转换为与所述目标地址同源的同源请求,并在所述同源请求中携带用于防止跨站请求伪造的校验令牌;
同源请求发送模块,用于将所述同源请求发送至所述目标地址的服务端,以使所述服务端基于所述校验令牌对所述同源请求进行处理;
请求反馈接收模块,用于接收所述服务端反馈的处理请求结果以及新生成的校验令牌,并将所述处理请求结果反馈至所述业务处理页面,将新生成的校验令牌更新替换掉当前使用的校验令牌。
8.根据权利要求7所述的装置,其中,
所述请求转换模块,具体用于通过在所述业务处理页面中加载的桥接页面将所述跨站请求转换为与所述目标地址同源的同源请求,所述桥接页面与所述目标地址同源;
所述同源请求发送模块,具体用于通过所述桥接页面将所述同源请求发送至所述目标地址的服务端。
9.根据权利要求8所述的装置,其中,所述跨站请求获取模块具体用于,
通过所述桥接页面监听用于传送页面请求的应用程序接口,并获取所述跨站请求。
10.根据权利要求8或9所述的装置,其中,所述装置还包括:
桥接页面加载模块,用于在所述业务处理页面中加载至少一个iframe标签,在所述iframe标签中加载与所述目标地址同源的桥接页面。
11.根据权利要求7所述的装置,其中,所述跨站请求采用包括:JSONP或者跨域资源共享的数据传输协议;
所述同源请求采用包括:异步JavaScript和XML的数据传输协议。
12.一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,所述程序运行时执行权利要求1-6中任意一项权利要求所述的跨站请求处理方法。
CN201811393935.5A 2018-11-21 2018-11-21 跨站请求处理方法、装置及电子设备 Active CN111212016B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811393935.5A CN111212016B (zh) 2018-11-21 2018-11-21 跨站请求处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811393935.5A CN111212016B (zh) 2018-11-21 2018-11-21 跨站请求处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN111212016A true CN111212016A (zh) 2020-05-29
CN111212016B CN111212016B (zh) 2022-09-23

Family

ID=70789263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811393935.5A Active CN111212016B (zh) 2018-11-21 2018-11-21 跨站请求处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN111212016B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113285936A (zh) * 2021-05-14 2021-08-20 深圳市金蝶天燕云计算股份有限公司 一种跨域数据获取方法以及相关装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100100927A1 (en) * 2008-10-20 2010-04-22 International Business Machines Corporation Systems and methods for protecting web based applications from cross site request forgery attacks
CN101883024A (zh) * 2010-06-23 2010-11-10 南京大学 一种跨站点伪造请求的动态检测方法
US20120054846A1 (en) * 2010-08-31 2012-03-01 John Lightsey Method for prevention of cross site request forgery attack
CN102480490A (zh) * 2010-11-30 2012-05-30 国际商业机器公司 一种用于防止csrf攻击的方法和设备
CN102571846A (zh) * 2010-12-23 2012-07-11 北京启明星辰信息技术股份有限公司 一种转发http请求的方法及装置
CN102685081A (zh) * 2011-03-17 2012-09-19 腾讯科技(深圳)有限公司 一种网页请求安全处理方法及系统
TW201310954A (zh) * 2011-08-26 2013-03-01 Univ Nat Taiwan Science Tech 跨站腳本攻擊產生方法
CN103312666A (zh) * 2012-03-09 2013-09-18 腾讯科技(深圳)有限公司 一种防御跨站请求伪造csrf攻击的方法、系统和装置
CN104079611A (zh) * 2013-03-29 2014-10-01 腾讯科技(深圳)有限公司 用于防止跨站点请求伪造的方法、相关装置及系统
CN105743869A (zh) * 2014-12-12 2016-07-06 阿里巴巴集团控股有限公司 Csrf攻击防范方法、网站服务器及浏览器
CN106341370A (zh) * 2015-07-07 2017-01-18 北京京东尚科信息技术有限公司 一种防御跨站请求伪造攻击的方法及装置
US20170041144A1 (en) * 2015-08-07 2017-02-09 Adobe Systems Incorporated Cross-site request forgery defense

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100100927A1 (en) * 2008-10-20 2010-04-22 International Business Machines Corporation Systems and methods for protecting web based applications from cross site request forgery attacks
CN101883024A (zh) * 2010-06-23 2010-11-10 南京大学 一种跨站点伪造请求的动态检测方法
US20120054846A1 (en) * 2010-08-31 2012-03-01 John Lightsey Method for prevention of cross site request forgery attack
CN102480490A (zh) * 2010-11-30 2012-05-30 国际商业机器公司 一种用于防止csrf攻击的方法和设备
CN102571846A (zh) * 2010-12-23 2012-07-11 北京启明星辰信息技术股份有限公司 一种转发http请求的方法及装置
CN102685081A (zh) * 2011-03-17 2012-09-19 腾讯科技(深圳)有限公司 一种网页请求安全处理方法及系统
TW201310954A (zh) * 2011-08-26 2013-03-01 Univ Nat Taiwan Science Tech 跨站腳本攻擊產生方法
CN103312666A (zh) * 2012-03-09 2013-09-18 腾讯科技(深圳)有限公司 一种防御跨站请求伪造csrf攻击的方法、系统和装置
CN104079611A (zh) * 2013-03-29 2014-10-01 腾讯科技(深圳)有限公司 用于防止跨站点请求伪造的方法、相关装置及系统
WO2014153959A1 (zh) * 2013-03-29 2014-10-02 腾讯科技(深圳)有限公司 用于防止跨站点请求伪造的方法、相关装置及系统
CN105743869A (zh) * 2014-12-12 2016-07-06 阿里巴巴集团控股有限公司 Csrf攻击防范方法、网站服务器及浏览器
CN106341370A (zh) * 2015-07-07 2017-01-18 北京京东尚科信息技术有限公司 一种防御跨站请求伪造攻击的方法及装置
US20170041144A1 (en) * 2015-08-07 2017-02-09 Adobe Systems Incorporated Cross-site request forgery defense

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
郑新新,等: "跨站请求伪造(CSRF)分析与检测技术研究", 《第十届中国通信学会学术年会论文集》 *
高灵杰: "基于nodejs的web脚本攻击与防范检测模型的研究与设计", 《中国优秀硕士学位论文全文数据库》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113285936A (zh) * 2021-05-14 2021-08-20 深圳市金蝶天燕云计算股份有限公司 一种跨域数据获取方法以及相关装置
CN113285936B (zh) * 2021-05-14 2023-10-31 深圳市金蝶天燕云计算股份有限公司 一种跨域数据获取方法以及相关装置

Also Published As

Publication number Publication date
CN111212016B (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
CN107124278B (zh) 业务处理方法、装置以及数据共享系统
CN104081742A (zh) 用于提供联合服务账户的方法和装置
CN104468592B (zh) 登录方法和登录系统
CN110278179B (zh) 单点登录方法、装置和系统以及电子设备
WO2020228038A1 (zh) 域名处理方法、装置、电子设备以及存储介质
WO2018018697A1 (zh) 伪基站垃圾短信鉴别方法及系统
CN106254319B (zh) 一种轻应用登录控制方法和装置
US10536430B2 (en) IP address acquisition method and apparatus
CN112905144B (zh) 终端显示方法、装置、电子设备及存储介质
US20140325089A1 (en) Method, terminal, server and system for page jump
CN105635073A (zh) 访问控制方法、装置和网络接入设备
CN109218389A (zh) 处理业务请求的方法、装置和存储介质以及电子设备
CN111294369B (zh) 页面请求处理方法、装置及电子设备
CN105812413B (zh) 通信方法及设备
CN111212016B (zh) 跨站请求处理方法、装置及电子设备
WO2019119974A1 (zh) 对象上传方法及装置
CN114866247B (zh) 一种通信方法、装置、系统、终端及服务器
US10375141B2 (en) Method for processing URL and associated server and non-transitory computer readable storage medium
KR20130072907A (ko) 단축 url 생성 방법 및 이를 지원하는 시스템
CN104980471A (zh) 网络请求包上报方法、装置和系统
KR20190098398A (ko) 화상 통신 서비스 제공 방법
JP4629024B2 (ja) 認証サーバ及び認証方法
TWI486039B (zh) Inter-domain communication methods, systems and devices
KR20230052691A (ko) 단축 url 처리 서버 및 그 제어방법
CN111199498A (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