统,或一些特征可W忽略,或不执行。另一点,所显示或 讨论的相互之间的禪合或直接禪合或通信连接可W是通过一些接口,装置或单元的间接禪 合或通信连接,可W是电性,机械或其它的形式。
[0138] 所述作为分离部件说明的单元可W是或者也可W不是物理上分开的,作为单元显 示的部件可W是或者也可W不是物理单元,即可W位于一个地方,或者也可W分布到多个 网络单元上。可W根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。
[0139] 另外,在本发明各个实施例中的各功能单元可W集成在一个处理单元中,也可W 是各个单元单独物理存在,也可W两个或两个W上单元集成在一个单元中。上述集成的单 元既可W采用硬件的形式实现,也可W采用软件功能单元的形式实现。
[0140] 所述集成的单元如果W软件功能单元的形式实现并作为独立的产品销售或使用 时,可W存储在一个计算机可读取存储介质中。基于运样的理解,本发明的技术方案本质上 或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可软件产品的形式 体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用W使得一台计算机 设备(可W是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全 部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memo巧)、随机存取存储器(RAM,Random Access Memcxry)、磁碟或者光盘等各种可W存储程 序代码的介质。
[0141] W上所述,W上实施例仅用W说明本发明的技术方案,而非对其限制;尽管参照前 述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可W对前 述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而运些 修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1. 一种跨窗口提交数据的方法,其特征在于,包括: 通过旧窗口将提交数据传输至服务器进行缓存,并获取与所述提交数据对应的唯一字 符串; 根据所述唯一字符串进行新窗口的HTML表单设置,并提交所述HTML表单通过携带有所 述唯一字符串的访问地址进入所述新窗口; 当打开所述新窗口之后,将所述新窗口的所述唯一字符串发送至所述服务器进行验 证,若成功,则通过所述服务器获取与所述唯一字符串对应的所述提交数据。2. 根据权利要求1所述的跨窗口提交数据的方法,其特征在于,通过旧窗口将提交数据 传输至服务器进行缓存,并获取与所述提交数据对应的唯一字符串具体包括: 在所述旧窗口通过ajax方式将所述提交数据以post方式上报至所述服务器; 通过所述服务器将所述提交数据缓存至redis中,并获取与所述提交数据对应的token字符串。3. 根据权利要求2所述的跨窗口提交数据的方法,其特征在于,通过所述服务器将所述 提交数据缓存至redis中,并获取与所述提交数据对应的token字符串具体包括: 通过所述服务器根据UUID方式生成唯一的前缀字符串; 通过所述服务器按照本地IP+密钥的方式的字符串用签名方法计算签名; 通过所述服务器将所述提交数据以key-value数据的形式缓存至redis,其中,key为所 述前缀字符串+所述本地IP,value为所述提交数据对应的json字符串; 通过所述服务器获取形式为前缀字符串-签名的所述token字符串。4. 根据权利要求3所述的跨窗口提交数据的方法,其特征在于,根据所述唯一字符串进 行新窗口的HTML表单设置,并提交所述HTML表单通过携带有所述唯一字符串的访问地址进 入所述新窗口具体包括: 根据所述token字符串进行新窗口的HTML表单设置,并提交所述HTML表单通过携带有 所述token字符串的访问地址进入所述新窗口。5. 根据权利要求4所述的跨窗口提交数据的方法,其特征在于,当打开所述新窗口之 后,将所述新窗口的所述唯一字符串发送至所述服务器进行验证,若成功,则通过所述服务 器获取与所述唯一字符串对应的所述提交数据具体包括: 当打开所述新窗口之后,将所述新窗口的所述token字符串发送至所述服务器; 通过所述服务器按照所述本地IP+密钥的方式的字符串计算实时签名,与所述token字 符串的所述签名进行对比,若所述实时签名与所述签名一致,则通过所述服务器从redis采 用key获取与所述json字符串对应的所述提交数据; 通过所述服务器将redis的所述key-value数据进行删除。6. -种跨窗口提交数据的系统,其特征在于,包括:客户端和服务器; 所述客户端包括: 获取单元,用于通过旧窗口将提交数据传输至服务器进行缓存,并获取与所述提交数 据对应的唯一字符串; 设置单元,用于根据所述唯一字符串进行新窗口的HTML表单设置,并提交所述HTML表 单通过携带有所述唯一字符串的访问地址进入所述新窗口; 验证单元,用于当打开所述新窗口之后,将所述新窗口的所述唯一字符串发送至所述 服务器进行验证,若成功,则通过所述服务器获取与所述唯一字符串对应的所述提交数据。7. 根据权利要求6所述的跨窗口提交数据的系统,其特征在于,所述获取单元包括: 上报子单元,用于在所述旧窗口通过ajax方式将所述提交数据以post方式上报至所述 服务器; 第一获取子单元,用于通过所述服务器将所述提交数据缓存至redis中,并获取与所述 提交数据对应的token字符串。8. 根据权利要求7所述的跨窗口提交数据的系统,其特征在于,所述服务器包括: 生成单元,用于根据UUID方式生成唯一的前缀字符串; 签名计算单元,用于按照本地IP+密钥的方式的字符串用签名方法计算签名; 缓存单元,用于将所述提交数据以key-value数据的形式缓存至redis,其中,key为所 述前缀字符串+所述本地IP,value为所述提交数据对应的json字符串; 发送单元,用于将形式为前缀字符串-签名的所述token字符串发送给所述客户端。9. 根据权利要求8所述的跨窗口提交数据的系统,其特征在于,设置单元,具体用于根 据所述token字符串进行新窗口的HTML表单设置,并提交所述HTML表单通过携带有所述 token字符串的访问地址进入所述新窗口。10. 根据权利要求9所述的跨窗口提交数据的系统,其特征在于,验证单元具体包括: 发送子单元,用于当打开所述新窗口之后,将所述新窗口的所述token字符串发送至所 述服务器; 第二获取子单元,用于当通过所述服务器用按照所述本地IP+密钥的方式的字符串计 算实时签名,与所述token字符串的所述签名进行对比之后,若所述实时签名与所述签名一 致,则获取到通过所述服务器从redis采用key获取与所述json字符串对应的所述提交数 据。11. 根据权利要求9所述的跨窗口提交数据的系统,其特征在于,所述服务器还包括: 删除单元,用于当所述客户端获取所述实时签名与所述签名对比一致之后,将redis的 所述key-value数据进行删除。
【专利摘要】本发明实施例公开了本发明实施例提供了一种跨窗口提交数据的方法及系统,解决了目前直接在新窗口get请求并带上全部参数,虽然能实现数据传输,但导致了不安全,容易受到跨站攻击,用户数据的安全性低的技术问题。本发明实施例跨窗口提交数据的方法包括:通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交数据对应的唯一字符串;根据唯一字符串进行新窗口的HTML表单设置,并提交HTML表单通过携带有唯一字符串的访问地址进入新窗口;当打开新窗口之后,将新窗口的唯一字符串发送至服务器进行验证,若成功,则通过服务器获取与唯一字符串对应的提交数据。
【IPC分类】H04L29/08, H04L29/06, H04L9/32
【公开号】CN105491116
【申请号】CN201510843186
【发明人】谭家华
【申请人】广州华多网络科技有限公司
【公开日】2016年4月13日
【申请日】2015年11月26日