一种跨窗口提交数据的方法及系统的制作方法

文档序号:9730255阅读:255来源:国知局
一种跨窗口提交数据的方法及系统的制作方法
【技术领域】
[0001] 本发明设及计算机网络领域,尤其设及一种跨窗口提交数据的方法及系统。
【背景技术】
[0002] 跨窗口指的是某项服务可W应用于多个窗口,用户访问页面时需要打开新的窗口 进程并在该新的窗口继续操作,由于跨窗口,用户的sessionid不同了,无法获取原有数据, 运样导致用户无法继续操作。目前有一种直接在新窗口 get请求并带上全部参数,运样虽然 能实现数据传输,但不安全,容易受到跨站攻击(Cross Site Script Execution),从而导 致了用户数据的安全性低的技术问题。

【发明内容】

[0003] 本发明实施例提供了一种跨窗口提交数据的方法及系统,解决了目前直接在新窗 口 get请求并带上全部参数,虽然能实现数据传输,但导致了不安全,容易受到跨站攻击,用 户数据的安全性低的技术问题。
[0004] 本发明实施例中提供的一种跨窗口提交数据的方法,包括:
[000引通过旧窗口将提交数据传输至服务器进行缓存,并获取与所述提交数据对应的唯 一字符串;
[0006] 根据所述唯一字符串进行新窗口的HTML表单设置,并提交所述HTML表单通过携带 有所述唯一字符串的访问地址进入所述新窗口;
[0007] 当打开所述新窗口之后,将所述新窗口的所述唯一字符串发送至所述服务器进行 验证,若成功,则通过所述服务器获取与所述唯一字符串对应的所述提交数据。
[0008] 可选地,通过旧窗口将提交数据传输至服务器进行缓存,并获取与所述提交数据 对应的唯一字符串具体包括:
[0009] 在所述旧窗口通过ajax方式将所述提交数据Wpost方式上报至所述服务器;
[0010] 通过所述服务器将所述提交数据缓存至redis中,并获取与所述提交数据对应的 token字符串。
[0011] 可选地,通过所述服务器将所述提交数据缓存至redis中,并获取与所述提交数据 对应的token字符串具体包括:
[0012] 通过所述服务器根据UUID方式生成唯一的前缀字符串;
[0013] 通过所述服务器按照本地IP+密钥的方式的字符串用签名方法计算签名;
[0014] 通过所述服务器将所述提交数据Wk巧-value数据的形式缓存至redis,其中,k巧 为所述前缀字符串+所述本地IP,value为所述提交数据对应的json字符串;
[0015] 通过所述服务器获取形式为前缀字符串-签名的所述token字符串。
[0016] 可选地,根据所述唯一字符串进行新窗口的HTML表单设置,并提交所述HTML表单 通过携带有所述唯一字符串的访问地址进入所述新窗口具体包括:
[0017] 根据所述token字符串进行新窗口的HTML表单设置,并提交所述HTML表单通过携 带有所述token字符串的访问地址进入所述新窗口。
[0018] 可选地,当打开所述新窗口之后,将所述新窗口的所述唯一字符串发送至所述服 务器进行验证,若成功,则通过所述服务器获取与所述唯一字符串对应的所述提交数据具 体包括:
[0019] 当打开所述新窗口之后,将所述新窗口的所述token字符串发送至所述服务器;
[0020] 通过所述服务器按照所述本地IP+密钥的方式的字符串计算实时签名,与所述 token字符串的所述签名进行对比,若所述实时签名与所述签名一致,则通过所述服务器从 redis采用key获取与所述json字符串对应的所述提交数据;
[0021 ]通过所述服务器将redis的所述k巧-value数据进行删除。
[0022] 本发明实施例中提供的一种跨窗口提交数据的系统,包括:客户端和服务器;
[0023] 所述客户端包括:
[0024] 获取单元,用于通过旧窗口将提交数据传输至服务器进行缓存,并获取与所述提 交数据对应的唯一字符串;
[002引设置单元,用于根据所述唯一字符串进行新窗口的HTML表单设置,并提交所述 HTML表单通过携带有所述唯一字符串的访问地址进入所述新窗口;
[0026] 验证单元,用于当打开所述新窗口之后,将所述新窗口的所述唯一字符串发送至 所述服务器进行验证,若成功,则通过所述服务器获取与所述唯一字符串对应的所述提交 数据。
[0027] 可选地,所述获取单元包括:
[0028] 上报子单元,用于在所述旧窗口通过ajax方式将所述提交数据Wpost方式上报至 所述服务器;
[0029] 第一获取子单元,用于通过所述服务器将所述提交数据缓存至redis中,并获取与 所述提交数据对应的token字符串。
[0030] 可选地,所述服务器包括:
[0031] 生成单元,用于根据UUID方式生成唯一的前缀字符串;
[0032] 签名计算单元,用于按照本地IP+密钥的方式的字符串用签名方法计算签名;
[0033]缓存单元,用于将所述提交数据Wk巧-value数据的形式缓存至redis,其中,k巧 为所述前缀字符串+所述本地IP,value为所述提交数据对应的json字符串;
[0034]发送单元,用于将形式为前缀字符串-签名的所述token字符串发送给所述客户 玉山 乂而。
[003引可选地,设置单元,具体用于根据所述token字符串进行新窗口的HTML表单设置, 并提交所述HTML表单通过携带有所述token字符串的访问地址进入所述新窗口。
[0036] 可选地,验证单元具体包括:
[0037] 发送子单元,用于当打开所述新窗口之后,将所述新窗口的所述token字符串发送 至所述服务器;
[0038] 第二获取子单元,用于当通过所述服务器用按照所述本地IP+密钥的方式的字符 串计算实时签名,与所述token字符串的所述签名进行对比之后,若所述实时签名与所述签 名一致,则获取到通过所述服务器从redis采用k巧获取与所述json字符串对应的所述提交 数据。
[0039] 可选地,所述服务器还包括:
[0040] 删除单元,用于当所述客户端获取所述实时签名与所述签名对比一致之后,将 redis的所述k巧-value数据进行删除。
[0041] 从W上技术方案可W看出,本发明实施例具有W下优点:
[0042] 本发明实施例提供了一种跨窗口提交数据的方法及系统,其中,跨窗口提交数据 的方法包括:通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交数据对应的唯 一字符串;根据唯一字符串进行新窗口的肌ML表单设置,并提交HTML表单通过携带有唯一 字符串的访问地址进入新窗口;当打开新窗口之后,将新窗口的唯一字符串发送至服务器 进行验证,若成功,则通过服务器获取与唯一字符串对应的提交数据。本实施例中,通过先 将在旧窗口提交的提交数据进行缓存,当打开新窗口之后,将新窗口的唯一字符串发送至 服务器进行验证,成功之后,再将提交数据发送至新窗口,实现了高安全性的跨窗口提交数 据,解决了目前直接在新窗口 get请求并带上全部参数,虽然能实现数据传输,但导致了不 安全,容易受到跨站攻击,用户数据的安全性低的技术问题。
【附图说明】
[0043] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 W根据运些附图获得其它的附图。
[0044] 图1为本发明实施例提供的一种跨窗口提交数据的方法的一个实施例的流程示意 图;
[0045] 图2为本发明实施例提供的一种跨窗口提交数据的方法的另一个实施例的流程示 意图;
[0046] 图3为本发明实施例提供的一种
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1