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

文档序号:9730255阅读:来源:国知局
lue数据进行删除。
[0089] 当通过服务器从redis采用k巧获取与json字符串对应的提交数据之后,需要通过 服务器将redis的k巧-value数据进行删除。
[0090] 本实施例中,通过先将在旧窗口提交的提交数据进行缓存,当打开新窗口之后,将 新窗口的唯一字符串发送至服务器进行验证,成功之后,再将提交数据发送至新窗口,实现 了高安全性的跨窗口提交数据,解决了目前直接在新窗口 get请求并带上全部参数,虽然能 实现数据传输,但导致了不安全,容易受到跨站攻击,用户数据的安全性低的技术问题,W 及获取到提交数据后,通过服务器将redis的key-value数据进行删除,使得token数据为一 次性使用,大大地保障了用户数据的安全性。
[0091] 上面是通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交数据对应的 唯一字符串的过程进行详细的描述,为了便于理解,下面将W-具体应用场景对图2所示的 实施例进行详细的描述,应用例包括:
[0092] a.用户点击"立即支付"按钮,见图5(a);
[0093] b.页面会执行下面js,并调起等待页面,见图5(b);
[0094] 页面有个html元素:
[009引〈form method = "get"id = "fo;rm"action ="新窗 口打开的地址"target = "_ blank"〉
[0096] <input type = "hidden"id = "token"name = "token"/〉
[0097] 〈/form〉
[0098] 用户点击页面确认按钮提交数据时,页面会执行W下js方法先把数据传输到服务 器,然后获取提交数据对应的token字符串。
[0099]
[0100]
[0101] C.服务器缓存数据;
[0102] 数据上传上来,用W下方法缓存数据并生成token:
[0103] (1)用UUID方法生成唯一的字符串aaaa;
[0104] (2)对用户ip+密钥的字符串用签名方法计算签名化;
[0105] (3) Wkey-value形式存数据入redis,key为aaaa+用户ip,value为上报数据的 json字符串,并设置10秒过期。
[0106] (4)返回 token 为 aaaa-bb。
[01 07] d.执行$ ("#f orm"). submi t ();运个方法后,就会在新浏览器的窗口打开ht化:// 曰曰.com/xx.do? token =曰曰曰曰-bb;
[010引 e .服务器获取到token: aaaa-bb,用当前用户ip+密钥算签名跟t)b比较,相等则从 redis用key :aaaa+用户ip,获取对应订单信息,并删除redis的运个数据,确保token只用一 次。
[0109] f.下单后,页面再重定向到网银,用户付款,见图5(c)。
[0110] 请参阅图3,本发明实施例中提供的一种跨窗口提交数据的系统的一个实施例包 括:
[0111] 客户端31和服务器32;
[011引客户端31包括:
[0113] 获取单元311,用于通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交 数据对应的唯一字符串;
[0114] 设置单元312,用于根据唯一字符串进行新窗口的HTML表单设置,并提交HTML表单 通过携带有唯一字符串的访问地址进入新窗口;
[0115] 验证单元313,用于当打开新窗口之后,将新窗口的唯一字符串发送至服务器进行 验证,若成功,则通过服务器获取与唯一字符串对应的提交数据。
[0116] 本实施例中,通过获取单元311先将在旧窗口提交的提交数据进行缓存,当打开新 窗口之后,验证单元313将新窗口的唯一字符串发送至服务器进行验证,成功之后,再将提 交数据发送至新窗口,实现了高安全性的跨窗口提交数据,解决了目前直接在新窗口 get请 求并带上全部参数,虽然能实现数据传输,但导致了不安全,容易受到跨站攻击,用户数据 的安全性低的技术问题。
[0117] 上面是对跨窗口提交数据的系统的各单元进行详细的描述,下面将对子单元及服 务器的组成进行详细的描述,请参阅图4,本发明实施例中提供的一种跨窗口提交数据的系 统的另一个实施例包括:
[011引客户端41和服务器42;
[0119] 客户端41包括:
[0120] 获取单元411,用于通过旧窗口将提交数据传输至服务器进行缓存,并获取与提交 数据对应的唯一字符串;
[0121] 获取单元411包括:
[0122] 上报子单元4111,用于在旧窗口通过ajax方式将提交数据Wpost方式上报至服务 器;
[0123] 第一获取子单元4112,用于通过服务器将提交数据缓存至redis中,并获取与提交 数据对应的token字符串。
[0124] 设置单元412,用于根据唯一字符串进行新窗口的HTML表单设置,并提交HTML表单 通过携带有唯一字符串的访问地址进入新窗口,设置单元412,具体用于根据token字符串 进行新窗口的HTML表单设置,并提交HTML表单通过携带有token字符串的访问地址进入新 窗口。
[0125] 验证单元413,用于当打开新窗口之后,将新窗口的唯一字符串发送至服务器进行 验证,若成功,则通过服务器获取与唯一字符串对应的提交数据。
[0126] 验证单元413具体包括:
[0127] 发送子单元4131,用于当打开新窗口之后,将新窗口的token字符串发送至服务 器;
[0128] 第二获取子单元4132,用于当通过服务器用按照本地IP+密钥的方式的字符串计 算实时签名,与token字符串的签名进行对比之后,若实时签名与签名一致,则获取到通过 服务器从redis采用k巧获取与json字符串对应的提交数据。
[0129] 服务器42包括:
[0130] 生成单元421,用于根据UUID方式生成唯一的前缀字符串;
[0131] 签名计算单元422,用于按照本地IP+密钥的方式的字符串用签名方法计算签名;
[0132] 缓存单元423,用于将提交数据Wk巧-value数据的形式缓存至redis,其中,k巧为 前缀字符串+本地IP,value为提交数据对应的json字符串;
[0133] 发送单元424,用于将形式为前缀字符串-签名的token字符串发送给客户端。
[0134] 删除单元425,用于当客户端获取实时签名与签名对比一致之后,将redis的ke^ value数据进行删除。
[0135] 本实施例中,通过获取单元411先将在旧窗口提交的提交数据进行缓存,当打开新 窗口之后,验证单元413将新窗口的唯一字符串发送至服务器进行验证,成功之后,再将提 交数据发送至新窗口,实现了高安全性的跨窗口提交数据,解决了目前直接在新窗口 get请 求并带上全部参数,虽然能实现数据传输,但导致了不安全,容易受到跨站攻击,用户数据 的安全性低的技术问题,W及获取到提交数据后,删除单元425通过服务器将redis的key-value 数据进行删除 ,使得 token 数据为一次性使用,大大地保障了用户数据的安全性。
[0136] 所属领域的技术人员可W清楚地了解到,为描述的方便和简洁上述描述的系统, 装置和单元的具体工作过程,可W参考前述方法实施例中的对应过程,在此不再寶述。
[0137] 在本申请所提供的几个实施例中,应该理解到,所掲露的系统,装置和方法,可W 通过其它的方式实现。例如,W上所描述的装置实施例仅仅是示意性的,例如,所述单元的 划分,仅仅为一种逻辑功能划分,实际实现时可W有另外的划分方式,例如多个单元或组件 可W结合或者可W集成到另一个系
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1