CN105491116B - 一种跨窗口提交数据的方法及系统 - Google Patents

一种跨窗口提交数据的方法及系统 Download PDF

Info

Publication number
CN105491116B
CN105491116B CN201510843186.1A CN201510843186A CN105491116B CN 105491116 B CN105491116 B CN 105491116B CN 201510843186 A CN201510843186 A CN 201510843186A CN 105491116 B CN105491116 B CN 105491116B
Authority
CN
China
Prior art keywords
character string
data
server
window
new window
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.)
Active
Application number
CN201510843186.1A
Other languages
English (en)
Other versions
CN105491116A (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.)
Guangzhou Huaduo Network Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co 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 Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201510843186.1A priority Critical patent/CN105491116B/zh
Publication of CN105491116A publication Critical patent/CN105491116A/zh
Application granted granted Critical
Publication of CN105491116B publication Critical patent/CN105491116B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/3247Cryptographic 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 digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了本发明实施例提供了一种跨窗口提交数据的方法及系统,解决了目前直接在新窗口get请求并带上全部参数,虽然能实现数据传输,但导致了不安全,容易受到跨站攻击,用户数据的安全性低的技术问题。本发明实施例跨窗口提交数据的方法包括:通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交数据对应的唯一字符串;根据唯一字符串进行新窗口的HTML表单设置,并提交HTML表单通过携带有唯一字符串的访问地址进入新窗口;当打开新窗口之后,将新窗口的唯一字符串发送至服务器进行验证,若成功,则通过服务器获取与唯一字符串对应的提交数据。

Description

一种跨窗口提交数据的方法及系统
技术领域
本发明涉及计算机网络领域,尤其涉及一种跨窗口提交数据的方法及系统。
背景技术
跨窗口指的是某项服务可以应用于多个窗口,用户访问页面时需要打开新的窗口进程并在该新的窗口继续操作,由于跨窗口,用户的sessionid不同了,无法获取原有数据,这样导致用户无法继续操作。目前有一种直接在新窗口get请求并带上全部参数,这样虽然能实现数据传输,但不安全,容易受到跨站攻击(Cross Site Script Execution),从而导致了用户数据的安全性低的技术问题。
发明内容
本发明实施例提供了一种跨窗口提交数据的方法及系统,解决了目前直接在新窗口get请求并带上全部参数,虽然能实现数据传输,但导致了不安全,容易受到跨站攻击,用户数据的安全性低的技术问题。
本发明实施例中提供的一种跨窗口提交数据的方法,包括:
通过旧窗口将提交数据传输至服务器进行缓存,并获取与所述提交数据对应的唯一字符串;
根据所述唯一字符串进行新窗口的HTML表单设置,并提交所述HTML表单通过携带有所述唯一字符串的访问地址进入所述新窗口;
当打开所述新窗口之后,将所述新窗口的所述唯一字符串发送至所述服务器进行验证,若成功,则通过所述服务器获取与所述唯一字符串对应的所述提交数据。
可选地,通过旧窗口将提交数据传输至服务器进行缓存,并获取与所述提交数据对应的唯一字符串具体包括:
在所述旧窗口通过ajax方式将所述提交数据以post方式上报至所述服务器;
通过所述服务器将所述提交数据缓存至redis中,并获取与所述提交数据对应的token字符串。
可选地,通过所述服务器将所述提交数据缓存至redis中,并获取与所述提交数据对应的token字符串具体包括:
通过所述服务器根据UUID方式生成唯一的前缀字符串;
通过所述服务器按照本地IP+密钥的方式的字符串用签名方法计算签名;
通过所述服务器将所述提交数据以key-value数据的形式缓存至redis,其中,key为所述前缀字符串+所述本地IP,value为所述提交数据对应的json字符串;
通过所述服务器获取形式为前缀字符串-签名的所述token字符串。
可选地,根据所述唯一字符串进行新窗口的HTML表单设置,并提交所述HTML表单通过携带有所述唯一字符串的访问地址进入所述新窗口具体包括:
根据所述token字符串进行新窗口的HTML表单设置,并提交所述HTML表单通过携带有所述token字符串的访问地址进入所述新窗口。
可选地,当打开所述新窗口之后,将所述新窗口的所述唯一字符串发送至所述服务器进行验证,若成功,则通过所述服务器获取与所述唯一字符串对应的所述提交数据具体包括:
当打开所述新窗口之后,将所述新窗口的所述token字符串发送至所述服务器;
通过所述服务器按照所述本地IP+密钥的方式的字符串计算实时签名,与所述token字符串的所述签名进行对比,若所述实时签名与所述签名一致,则通过所述服务器从redis采用key获取与所述json字符串对应的所述提交数据;
通过所述服务器将redis的所述key-value数据进行删除。
本发明实施例中提供的一种跨窗口提交数据的系统,包括:客户端和服务器;
所述客户端包括:
获取单元,用于通过旧窗口将提交数据传输至服务器进行缓存,并获取与所述提交数据对应的唯一字符串;
设置单元,用于根据所述唯一字符串进行新窗口的HTML表单设置,并提交所述HTML表单通过携带有所述唯一字符串的访问地址进入所述新窗口;
验证单元,用于当打开所述新窗口之后,将所述新窗口的所述唯一字符串发送至所述服务器进行验证,若成功,则通过所述服务器获取与所述唯一字符串对应的所述提交数据。
可选地,所述获取单元包括:
上报子单元,用于在所述旧窗口通过ajax方式将所述提交数据以post方式上报至所述服务器;
第一获取子单元,用于通过所述服务器将所述提交数据缓存至redis中,并获取与所述提交数据对应的token字符串。
可选地,所述服务器包括:
生成单元,用于根据UUID方式生成唯一的前缀字符串;
签名计算单元,用于按照本地IP+密钥的方式的字符串用签名方法计算签名;
缓存单元,用于将所述提交数据以key-value数据的形式缓存至redis,其中,key为所述前缀字符串+所述本地IP,value为所述提交数据对应的json字符串;
发送单元,用于将形式为前缀字符串-签名的所述token字符串发送给所述客户端。
可选地,设置单元,具体用于根据所述token字符串进行新窗口的HTML表单设置,并提交所述HTML表单通过携带有所述token字符串的访问地址进入所述新窗口。
可选地,验证单元具体包括:
发送子单元,用于当打开所述新窗口之后,将所述新窗口的所述token字符串发送至所述服务器;
第二获取子单元,用于当通过所述服务器用按照所述本地IP+密钥的方式的字符串计算实时签名,与所述token字符串的所述签名进行对比之后,若所述实时签名与所述签名一致,则获取到通过所述服务器从redis采用key获取与所述json字符串对应的所述提交数据。
可选地,所述服务器还包括:
删除单元,用于当所述客户端获取所述实时签名与所述签名对比一致之后,将redis的所述key-value数据进行删除。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例提供了一种跨窗口提交数据的方法及系统,其中,跨窗口提交数据的方法包括:通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交数据对应的唯一字符串;根据唯一字符串进行新窗口的HTML表单设置,并提交HTML表单通过携带有唯一字符串的访问地址进入新窗口;当打开新窗口之后,将新窗口的唯一字符串发送至服务器进行验证,若成功,则通过服务器获取与唯一字符串对应的提交数据。本实施例中,通过先将在旧窗口提交的提交数据进行缓存,当打开新窗口之后,将新窗口的唯一字符串发送至服务器进行验证,成功之后,再将提交数据发送至新窗口,实现了高安全性的跨窗口提交数据,解决了目前直接在新窗口get请求并带上全部参数,虽然能实现数据传输,但导致了不安全,容易受到跨站攻击,用户数据的安全性低的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种跨窗口提交数据的方法的一个实施例的流程示意图;
图2为本发明实施例提供的一种跨窗口提交数据的方法的另一个实施例的流程示意图;
图3为本发明实施例提供的一种跨窗口提交数据的系统的一个实施例的流程示意图;
图4为本发明实施例提供的一种跨窗口提交数据的系统的另一个实施例的流程示意图;
图5(a)至图5(c)为图2实施例的一个应用例场景示意图。
具体实施方式
本发明实施例提供了一种跨窗口提交数据的方法及系统,解决了目前直接在新窗口get请求并带上全部参数,虽然能实现数据传输,但导致了不安全,容易受到跨站攻击,用户数据的安全性低的技术问题。
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在有些游戏中,需要进行充值购买物品等等,通常是在旧的访问界面发送支付请求,旧访问界面提交支付数据给服务器,再通过服务器接入新的窗口完成整个提交并支付。
请参阅图1,本发明实施例提供的一种跨窗口提交数据的方法的一个实施例包括:
101、通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交数据对应的唯一字符串;
本实施例中,当需要跨窗口提交数据时,首先通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交数据对应的唯一字符串。
102、根据唯一字符串进行新窗口的HTML表单设置,并提交HTML表单通过携带有唯一字符串的访问地址进入新窗口;
当通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交数据对应的唯一字符串之后,需要根据唯一字符串进行新窗口的HTML表单设置,并提交HTML表单通过携带有唯一字符串的访问地址进入新窗口。
103、当打开新窗口之后,将新窗口的唯一字符串发送至服务器进行验证,若成功,则执行步骤104;
当根据唯一字符串进行新窗口的HTML表单设置,并提交HTML表单通过携带有唯一字符串的访问地址进入新窗口之后,需要将新窗口的唯一字符串发送至服务器进行验证,若成功,则执行步骤104。
104、通过服务器获取与唯一字符串对应的提交数据。
当将新窗口的唯一字符串发送至服务器进行验证成功之后,需要通过服务器获取与唯一字符串对应的提交数据。
本实施例中,通过先将在旧窗口提交的提交数据进行缓存,当打开新窗口之后,将新窗口的唯一字符串发送至服务器进行验证,成功之后,再将提交数据发送至新窗口,实现了高安全性的跨窗口提交数据,解决了目前直接在新窗口get请求并带上全部参数,虽然能实现数据传输,但导致了不安全,容易受到跨站攻击,用户数据的安全性低的技术问题。
上面是对跨窗口提交数据的方法的过程进行详细的描述,下面将对通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交数据对应的唯一字符串的过程进行详细的描述,请参阅图2,本发明实施例提供的一种跨窗口提交数据的方法的另一个实施例包括:
201、在旧窗口通过ajax方式将提交数据以post方式上报至服务器;
本实施例中,当需要跨窗口提交数据时,首先在旧窗口通过ajax方式将提交数据以post方式上报至服务器。
202、通过服务器根据UUID方式生成唯一的前缀字符串;
当在旧窗口通过ajax方式将提交数据以post方式上报至服务器之后,需要通过服务器根据UUID方式生成唯一的前缀字符串,例如用UUID方法生成唯一的字符串aaaa。
203、通过服务器按照本地IP+密钥的方式的字符串用签名方法计算签名;
当通过服务器根据UUID方式生成唯一的前缀字符串之后,需要通过服务器按照本地IP+密钥的方式的字符串用签名方法计算签名,例如对客户端IP+密钥的字符串用签名方法计算签名bb。
204、通过服务器将提交数据以key-value数据的形式缓存至redis;
当通过服务器按照本地IP+密钥的方式的字符串用签名方法计算签名之后,需要通过服务器将提交数据以key-value数据的形式缓存至redis,其中,key为前缀字符串+本地IP,value为提交数据对应的json字符串,例如以key-value形式存数据入redis,key为aaaa+用户ip,value为上报数据的json字符串,并设置一个预置过期时间,如10秒等,此处具体不做限定。
205、通过服务器获取形式为前缀字符串-签名的token字符串;
当通过服务器将提交数据以key-value数据的形式缓存至redis之后,需要通过服务器获取形式为前缀字符串-签名的token字符串,例如获取到服务器返回的token字符串为aaaa-bb。
206、根据token字符串进行新窗口的HTML表单设置,并提交HTML表单通过携带有token字符串的访问地址进入新窗口;
当通过服务器获取形式为前缀字符串-签名的token字符串之后,需要根据token字符串进行新窗口的HTML表单设置,并提交HTML表单通过携带有token字符串的访问地址进入新窗口,前述的TML表单可以是在页面的HTML元素设置为:
<form method="get"id="form"action="http://aa.com/xx.do"target="_blank">
<input value="aaaa-bb"type="hidden"id="token"name="token"/>
</form>
207、将新窗口的token字符串发送至服务器;
当打开新窗口之后,将新窗口的token字符串发送至服务器,
208、通过服务器按照本地IP+密钥的方式的字符串计算实时签名,与token字符串的签名进行对比,若实时签名与签名一致,则执行步骤210;
当根据唯一字符串进行新窗口的HTML表单设置,并提交HTML表单通过携带有唯一字符串的访问地址进入新窗口之后,需要通过服务器按照本地IP+密钥的方式的字符串计算实时签名,与token字符串的签名进行对比,若实时签名与签名一致,则执行步骤210。
209、通过服务器从redis采用key获取与json字符串对应的提交数据;
当通过服务器按照本地IP+密钥的方式的字符串计算实时签名,与token字符串的签名进行对比,若实时签名与签名一致之后,需要通过服务器从redis采用key获取与json字符串对应的提交数据。
210、通过服务器将redis的key-value数据进行删除。
当通过服务器从redis采用key获取与json字符串对应的提交数据之后,需要通过服务器将redis的key-value数据进行删除。
本实施例中,通过先将在旧窗口提交的提交数据进行缓存,当打开新窗口之后,将新窗口的唯一字符串发送至服务器进行验证,成功之后,再将提交数据发送至新窗口,实现了高安全性的跨窗口提交数据,解决了目前直接在新窗口get请求并带上全部参数,虽然能实现数据传输,但导致了不安全,容易受到跨站攻击,用户数据的安全性低的技术问题,以及获取到提交数据后,通过服务器将redis的key-value数据进行删除,使得token数据为一次性使用,大大地保障了用户数据的安全性。
上面是通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交数据对应的唯一字符串的过程进行详细的描述,为了便于理解,下面将以一具体应用场景对图2所示的实施例进行详细的描述,应用例包括:
a.用户点击“立即支付”按钮,见图5(a);
b.页面会执行下面js,并调起等待页面,见图5(b);
页面有个html元素:
用户点击页面确认按钮提交数据时,页面会执行以下js方法先把数据传输到服务器,然后获取提交数据对应的token字符串。
c.服务器缓存数据;
数据上传上来,用以下方法缓存数据并生成token:
(1)用UUID方法生成唯一的字符串aaaa;
(2)对用户ip+密钥的字符串用签名方法计算签名bb;
(3)以key-value形式存数据入redis,key为aaaa+用户ip,value为上报数据的json字符串,并设置10秒过期。
(4)返回token为aaaa-bb。
d.执行$("#form").submit();这个方法后,就会在新浏览器的窗口打开http://aa.com/xx.do?token=aaaa-bb;
e.服务器获取到token:aaaa-bb,用当前用户ip+密钥算签名跟bb比较,相等则从redis用key:aaaa+用户ip,获取对应订单信息,并删除redis的这个数据,确保token只用一次。
f.下单后,页面再重定向到网银,用户付款,见图5(c)。
请参阅图3,本发明实施例中提供的一种跨窗口提交数据的系统的一个实施例包括:
客户端31和服务器32;
客户端31包括:
获取单元311,用于通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交数据对应的唯一字符串;
设置单元312,用于根据唯一字符串进行新窗口的HTML表单设置,并提交HTML表单通过携带有唯一字符串的访问地址进入新窗口;
验证单元313,用于当打开新窗口之后,将新窗口的唯一字符串发送至服务器进行验证,若成功,则通过服务器获取与唯一字符串对应的提交数据。
本实施例中,通过获取单元311先将在旧窗口提交的提交数据进行缓存,当打开新窗口之后,验证单元313将新窗口的唯一字符串发送至服务器进行验证,成功之后,再将提交数据发送至新窗口,实现了高安全性的跨窗口提交数据,解决了目前直接在新窗口get请求并带上全部参数,虽然能实现数据传输,但导致了不安全,容易受到跨站攻击,用户数据的安全性低的技术问题。
上面是对跨窗口提交数据的系统的各单元进行详细的描述,下面将对子单元及服务器的组成进行详细的描述,请参阅图4,本发明实施例中提供的一种跨窗口提交数据的系统的另一个实施例包括:
客户端41和服务器42;
客户端41包括:
获取单元411,用于通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交数据对应的唯一字符串;
获取单元411包括:
上报子单元4121,用于在旧窗口通过ajax方式将提交数据以post方式上报至服务器;
第一获取子单元4122,用于通过服务器将提交数据缓存至redis中,并获取与提交数据对应的token字符串。
设置单元412,用于根据唯一字符串进行新窗口的HTML表单设置,并提交HTML表单通过携带有唯一字符串的访问地址进入新窗口,设置单元412,具体用于根据token字符串进行新窗口的HTML表单设置,并提交HTML表单通过携带有token字符串的访问地址进入新窗口。
验证单元413,用于当打开新窗口之后,将新窗口的唯一字符串发送至服务器进行验证,若成功,则通过服务器获取与唯一字符串对应的提交数据。
验证单元413具体包括:
发送子单元4131,用于当打开新窗口之后,将新窗口的token字符串发送至服务器;
第二获取子单元4132,用于当通过服务器用按照本地IP+密钥的方式的字符串计算实时签名,与token字符串的签名进行对比之后,若实时签名与签名一致,则获取到通过服务器从redis采用key获取与json字符串对应的提交数据。
服务器42包括:
生成单元421,用于根据UUID方式生成唯一的前缀字符串;
签名计算单元422,用于按照本地IP+密钥的方式的字符串用签名方法计算签名;
缓存单元423,用于将提交数据以key-value数据的形式缓存至redis,其中,key为前缀字符串+本地IP,value为提交数据对应的json字符串;
发送单元424,用于将形式为前缀字符串-签名的token字符串发送给客户端。
删除单元425,用于当客户端获取实时签名与签名对比一致之后,将redis的key-value数据进行删除。
本实施例中,通过获取单元411先将在旧窗口提交的提交数据进行缓存,当打开新窗口之后,验证单元413将新窗口的唯一字符串发送至服务器进行验证,成功之后,再将提交数据发送至新窗口,实现了高安全性的跨窗口提交数据,解决了目前直接在新窗口get请求并带上全部参数,虽然能实现数据传输,但导致了不安全,容易受到跨站攻击,用户数据的安全性低的技术问题,以及获取到提交数据后,删除单元425通过服务器将redis的key-value数据进行删除,使得token数据为一次性使用,大大地保障了用户数据的安全性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种跨窗口提交数据的方法,其特征在于,包括:
在旧窗口通过ajax方式将提交数据以post方式上报至服务器;
通过所述服务器将所述提交数据缓存至redis中,并获取与所述提交数据对应的token字符串;
根据所述token字符串进行新窗口的HTML表单设置,并提交所述HTML表单通过携带有所述token字符串的访问地址进入所述新窗口;
当打开所述新窗口之后,将所述新窗口的所述token字符串发送至所述服务器进行验证,若成功,则通过所述服务器获取与所述token字符串对应的所述提交数据。
2.根据权利要求1所述的跨窗口提交数据的方法,其特征在于,通过所述服务器将所述提交数据缓存至redis中,并获取与所述提交数据对应的token字符串具体包括:
通过所述服务器根据UUID方式生成唯一的前缀字符串;
通过所述服务器按照本地IP+密钥的方式的字符串用签名方法计算签名;
通过所述服务器将所述提交数据以key-value数据的形式缓存至redis,其中,key为所述前缀字符串+所述本地IP,value为所述提交数据对应的json字符串;
通过所述服务器获取形式为前缀字符串-签名的所述token字符串。
3.根据权利要求2所述的跨窗口提交数据的方法,其特征在于,当打开所述新窗口之后,将所述新窗口的所述token字符串发送至所述服务器进行验证,若成功,则通过所述服务器获取与所述token字符串对应的所述提交数据具体包括:
当打开所述新窗口之后,将所述新窗口的所述token字符串发送至所述服务器;
通过所述服务器按照所述本地IP+密钥的方式的字符串计算实时签名,与所述token字符串的所述签名进行对比,若所述实时签名与所述签名一致,则通过所述服务器从redis采用key获取与所述json字符串对应的所述提交数据;
通过所述服务器将redis的所述key-value数据进行删除。
4.一种跨窗口提交数据的系统,其特征在于,包括:客户端和服务器;
所述客户端包括:
上报子单元,用于在旧窗口通过ajax方式将所述提交数据以post方式上报至所述服务器;
第一获取子单元,用于通过所述服务器将所述提交数据缓存至redis中,并获取与所述提交数据对应的token字符串;
设置单元,用于根据所述token字符串进行新窗口的HTML表单设置,并提交所述HTML表单通过携带有所述token字符串的访问地址进入所述新窗口;
验证单元,用于当打开所述新窗口之后,将所述新窗口的所述token字符串发送至所述服务器进行验证,若成功,则通过所述服务器获取与所述token字符串对应的所述提交数据。
5.根据权利要求4所述的跨窗口提交数据的系统,其特征在于,所述服务器包括:
生成单元,用于根据UUID方式生成唯一的前缀字符串;
签名计算单元,用于按照本地IP+密钥的方式的字符串用签名方法计算签名;
缓存单元,用于将所述提交数据以key-value数据的形式缓存至redis,其中,key为所述前缀字符串+所述本地IP,value为所述提交数据对应的json字符串;
发送单元,用于将形式为前缀字符串-签名的所述token字符串发送给所述客户端。
6.根据权利要求5所述的跨窗口提交数据的系统,其特征在于,验证单元具体包括:
发送子单元,用于当打开所述新窗口之后,将所述新窗口的所述token字符串发送至所述服务器;
第二获取子单元,用于当通过所述服务器用按照所述本地IP+密钥的方式的字符串计算实时签名,与所述token字符串的所述签名进行对比之后,若所述实时签名与所述签名一致,则获取到通过所述服务器从redis采用key获取与所述json字符串对应的所述提交数据。
7.根据权利要求6所述的跨窗口提交数据的系统,其特征在于,所述服务器还包括:
删除单元,用于当所述客户端获取所述实时签名与所述签名对比一致之后,将redis的所述key-value数据进行删除。
CN201510843186.1A 2015-11-26 2015-11-26 一种跨窗口提交数据的方法及系统 Active CN105491116B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510843186.1A CN105491116B (zh) 2015-11-26 2015-11-26 一种跨窗口提交数据的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510843186.1A CN105491116B (zh) 2015-11-26 2015-11-26 一种跨窗口提交数据的方法及系统

Publications (2)

Publication Number Publication Date
CN105491116A CN105491116A (zh) 2016-04-13
CN105491116B true CN105491116B (zh) 2019-04-26

Family

ID=55677826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510843186.1A Active CN105491116B (zh) 2015-11-26 2015-11-26 一种跨窗口提交数据的方法及系统

Country Status (1)

Country Link
CN (1) CN105491116B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357794B (zh) * 2016-05-10 2020-06-05 北京京东尚科信息技术有限公司 优化键值数据库的数据存储结构的方法和装置
CN106161466A (zh) * 2016-08-30 2016-11-23 迈普通信技术股份有限公司 Web服务器及表单提交安全交互方法
CN108108310A (zh) * 2016-11-24 2018-06-01 腾讯科技(深圳)有限公司 一种数据处理方法、装置及服务器
CN109783252A (zh) * 2018-12-28 2019-05-21 深圳竹云科技有限公司 一种实现系统间安全交互数据的短期一次性安全码缓存方法
CN112333344B (zh) * 2021-01-04 2021-04-06 零犀(北京)科技有限公司 一种线路代理方法、装置、代理服务器及存储介质
CN112632447B (zh) * 2021-01-13 2022-03-11 西安博达软件股份有限公司 网站动态应用安全防护方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102682009A (zh) * 2011-03-11 2012-09-19 腾讯科技(北京)有限公司 一种用户登录网页的方法及系统
CN103179134A (zh) * 2013-04-19 2013-06-26 中国建设银行股份有限公司 基于Cookie的单点登录方法、系统及其应用服务器
CN104378376A (zh) * 2014-11-18 2015-02-25 深圳中兴网信科技有限公司 基于soa的单点登录方法、认证服务器和浏览器
CN105007280A (zh) * 2015-08-05 2015-10-28 郑州悉知信息技术有限公司 一种应用登录方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101662460B (zh) * 2008-08-25 2015-07-15 阿里巴巴集团控股有限公司 一种跨域通讯的方法、系统和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102682009A (zh) * 2011-03-11 2012-09-19 腾讯科技(北京)有限公司 一种用户登录网页的方法及系统
CN103179134A (zh) * 2013-04-19 2013-06-26 中国建设银行股份有限公司 基于Cookie的单点登录方法、系统及其应用服务器
CN104378376A (zh) * 2014-11-18 2015-02-25 深圳中兴网信科技有限公司 基于soa的单点登录方法、认证服务器和浏览器
CN105007280A (zh) * 2015-08-05 2015-10-28 郑州悉知信息技术有限公司 一种应用登录方法和装置

Also Published As

Publication number Publication date
CN105491116A (zh) 2016-04-13

Similar Documents

Publication Publication Date Title
CN105491116B (zh) 一种跨窗口提交数据的方法及系统
CN106339875B (zh) 基于公有区块链的操作记录审查方法及装置
US20190244186A1 (en) Electronic bill management method, apparatus, and storage medium
CN107306183B (zh) 客户端、服务端、方法和身份验证系统
CN110958223B (zh) 基于区块链的委托授权方法、装置、设备和介质
CN104767613B (zh) 签名验证方法、装置及系统
WO2020028589A1 (en) Techniques for expediting processing of blockchain transactions
CN104144207B (zh) 界面加载方法和系统及装置
US9641535B2 (en) Apparatus and data processing systems for accessing an object
CN104052746B (zh) 异构应用单点登录系统及其单点登录方法
Sanka et al. Efficient high performance FPGA based NoSQL caching system for blockchain scalability and throughput improvement
CN105141605B (zh) 会话方法、网站服务器及浏览器
CN109716707A (zh) 分布式电子记录和交易历史
EP2890172A1 (en) Flexible data authentication for an nfc data exchange format ndef message
EP2972984A1 (en) Method and system for obtaining and using identification information
WO2014165391A1 (en) Managing redirected website login using a short address
CN109784870A (zh) 合同管理方法、装置、计算机设备及计算机可读存储介质
CN105337735A (zh) 数字证书处理及校验的方法和装置
CN105635064B (zh) Csrf攻击检测方法及装置
Moyer et al. Scalable web content attestation
CN107016074A (zh) 一种网页加载方法及装置
US20230222484A1 (en) Method for binding card, terminal device, authentication server and storage medium
CN102624698B (zh) 一种面向电子记录的证据管理与服务系统
CN112751878A (zh) 一种页面请求处理方法及装置
CN103326994A (zh) 业务处理方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 511442 floor 28 floor B1 of Wanda Plaza, Panyu District South Village, Guangzhou City, Guangdong

Applicant after: Guangzhou Huaduo Network Technology Co., Ltd.

Address before: 510665, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08,

Applicant before: Guangzhou Huaduo Network Technology Co., Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160413

Assignee: GUANGZHOU HUYA INFORMATION TECHNOLOGY Co.,Ltd.

Assignor: Guangzhou Huaduo Network Technology Co., Ltd.

Contract record no.: 2018990000088

Denomination of invention: Cross-window data submitting method and system

License type: Common License

Record date: 20180413

GR01 Patent grant
GR01 Patent grant