一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种安全非同源页面跨域通信的方法与流程

2021-10-24 08:41:00 来源:中国专利 TAG:同源 网络安全 页面 通信 方法


1.本发明涉及网络安全技术领域,具体为一种安全非同源页面跨域通信的方法。


背景技术:

2.随着internet的不断发展,网络安全问题日益突出。现有技术中,web浏览器会阻止不同域中的文档互相影响,即对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议,端口号,以及主机时,这两个脚本才能相互通信。而随着互联网技术的发展,在页面中嵌套跨域的第三方页面的方式被越来越多企业采用,页面间进行安全跨域通信的需求也变得普遍。
3.现有的页面跨域通信时安全性得不到有效的保障,且相关网页应用产品设计与构建成本较高。


技术实现要素:

4.本发明的目的在于提供一种安全非同源页面跨域通信的方法,以解决上述背景技术中提出的安全性得不到有效的保障,构建成本较高的问题。
5.为实现上述目的,本发明提供如下技术方案:一种安全非同源页面跨域通信的方法,包括以下步骤:步骤1:在页面一中建立广播数据监听事件;步骤2:在页面一获取页面二所在窗口对象的实例;步骤3:在页面二发送不同类型的广播,触发页面一监听事件;步骤4:在页面一和页面二之间进行安全验证和广播数据验证;步骤5:在页面一和页面二之间进行广播加密,加密过程贯穿整个通信过程;其中,所述页面一与页面二属于不同的域。
6.优选的,所述步骤3中发送不同类型的广播其发送方式为postmessage方式。
7.优选的,所述发送的广播内容为一个结构化对象数据,所述结构化对象数据包括:待发送数据,数据发送源,数据接受源,广播类型,时间戳,安全验证码。
8.优选的,所述广播类型为一段字符串,所述结构化对象数据中待发送数据的内容由广播类型确定。
9.优选的,所述时间戳为当前时间的毫秒数。
10.优选的,所述不同类型的广播通过结构化对象的广播类型字段定义。
11.优选的,所述广播数据验证的步骤为:a、在页面二发送广播时,在结构化对象数据中将包含时间戳;b、在页面一接收广播后,向页面二发送数据时也带上接收到的时间戳;c、最后由页面二验证,如果时间戳相同,则视为一次完整的发送

接收过程。
12.优选的,所述的广播加密包括:在页面二发送广播时,在结构化对象数据中将包含加密后的安全验证码;
在页面一接收广播前,先对安全验证码进行安全验证,验证通过后才发送返回数据。
13.优选的,所述安全验证码的生成步骤为:首先将页面二的user id和secret key组合后,再通过hmac哈希运算生成code,最后将该code使用sk通过aes加密生成安全验证码。
14.优选的,所述安全验证码的验证步骤为:页面一根据接收到的安全验证码,以及页面二的sk和user id,通过sk和user id进行与页面二相同的加密运算,比对结果是否和安全验证码完全相同,若相同,则可以向其发送数据。
15.与现有技术相比,本发明的有益效果是:本发明提供了一种安全非同源页面跨域通信的方法,实现了不同域间页面的跨域通信,同时能够保证通信过程安全,可以支持企业进行安全有效,且成本低廉的相关网页应用产品设计与构建。
附图说明
16.图1为本发明流程示意图;图2为本发明结构化对象数据的结构示意图;图3为本发明页面一与页面二跨域通信时广播数据验证过程的流程图;图4为本发明页面一与页面二跨域通信时安全验证码生成过程的流程图;图5为本发明页面一与页面二跨域通信时安全验证码验证过程的流程图。
具体实施方式
17.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
19.实施例:请参阅图1

5,本发明提供一种技术方案:一种安全非同源页面跨域通信的方法,包括以下步骤:步骤1:在页面一中建立广播数据监听事件;步骤2:在页面一获取页面二所在窗口对象的实例;步骤3:在页面二发送不同类型的广播,触发页面一监听事件;步骤4:在页面一和页面二之间进行安全验证和广播数据验证;步骤5:在页面一和页面二之间进行广播加密,加密过程贯穿整个通信过程;其中,所述页面一与页面二属于不同的域。
20.页面一和页面二之间使用postmessage相互传递消息,消息为一个结构化对象数据,该结构化对象数据中包含待传输数据与安全验证等相关字段,字段经过加密后可实现
非同源页面之间的安全跨域通信。
21.postmessage技术是h5中的一种新技术,它把父子页面的通信当做事件来处理,而且增加了通信源的判断,因此可以便捷、安全地实现跨域通信。postmessage(data,origin)方法接受两个参数,其中data为页面一与页面二所传递的消息,本实施例中传递的消息为一个结构化对象数据;origin为字符串参数,指明目标窗口的源,格式为:协议 主机 端口号[ url],url会被忽略,所以也可以不写。postmessage()方法只会将message传递给指定窗口,若要传递给任意窗口也可以建参数设置为”*”,如果要指定和当前窗口同源则可设置为”/”。
[0022]
所述步骤3中发送不同类型的广播其发送方式为postmessage方式。
[0023]
发送的广播内容为一个结构化对象数据,如图2所示,结构化对象数据包括:待发送数据,数据发送源,数据接受源,广播类型,时间戳,安全验证码,数据发送源与数据接受源即为页面二与页面一的地址,时间戳为当前时间的毫秒数。
[0024]
不同类型的广播通过结构化对象的广播类型字段定义,广播类型为一段字符串,结构化对象数据中的待发送数据的内容由广播类型确定,具体的,发送方将根据广播类型字段的设置,自动选择页面相应的属性数据放入待发送数据字段中,这样可以减低企业应用过程中的复杂度,减少信息传递的错误率,提高效率。
[0025]
如图3所示,广播数据验证的步骤为:a、在页面二发送广播时,在结构化对象数据中将包含时间戳;b、在页面一接收广播后,向页面二发送数据时也带上接收到的时间戳;c、最后由页面二验证,如果时间戳相同,则视为一次完整的发送

接收过程;通过发送方,即页面二确认接收方,即页面一所携带的时间戳,能够保证确认通信过程的完整性,准确性,防止因网络等意外原因造成的通信错误。
[0026]
所述的广播加密包括:在页面二发送广播时,在结构化对象数据中将包含加密后的安全验证码;在页面一接收广播前,先对安全验证码进行安全验证,验证通过后才发送返回数据,安全验证码为一个加密的字符串,该字段可以实现所述的广播加密,加密过程贯穿非同源页面跨域通信的整个过程,以此实现通信过程的安全。具体的,包括:首先在所述页面二发送广播时,在所述结构化对象数据中将包含加密后的安全验证码;然后在所述页面一接收广播前,先对所述安全验证码进行安全验证,验证通过后才发送返回数据。
[0027]
如图4所示,所述安全验证码的生成步骤为:首先将页面二的user id和secret key组合后,再通过hmac哈希运算生成code,最后将该code使用sk通过aes加密生成安全验证码。
[0028]
如图5所示,所述安全验证码的验证步骤为:页面一根据接收到的安全验证码,以及页面二的sk和user id,通过sk和user id进行与页面二相同的加密运算,比对结果是否和安全验证码完全相同,若相同,则可以向其发送数据;具体的:步骤s501,首先所述页面一将接收到的所述页面二的user id和secret key(sk)进行组合;步骤s502,再通过hmac(sha256)哈希运算生成code步骤s503,再将上述code使用sk通过aes加密生成页面一的安全验证码;
步骤s504,最后将得到的安全验证码与接收到的页面二的安全验证码进行对比,若相同,则可以向其发送数据。
[0029]
本发明实施例中,安全验证码的初始数据由页面的user id和secret key(sk)组合得到。由于页面的sk是保密的,仅应用方和平台方知晓,故只需要配合适当的签名算法,就可以得到原始信息的数字签名,防止消息在传递过程中被伪造或篡改,大大提高了跨域通信过程中的安全性。同时,安全验证码的在加密过程中还使用了hmac(hash

based message authentication code)算法和aes(advanced encryption standard)对称加密算法。hmac是一种基于密钥的报文完整性的验证方法,它要求通信双方共享密钥、约定算法、对报文进行hash运算,形成固定长度的认证码。其在ipsec和其他网络协议(如ssl)中得以广泛应用,现在已经成为事实上的internet安全标准。而aes加密和解密用相同的密钥,这种加密方式加密速度非常快,适合经常发送数据的场合。故本发明在实现了不同域间页面的跨域通信的同时,还能够保证通信过程的安全,可以支持企业进行安全有效,且成本低廉的相关网页应用产品设计与构建。
[0030]
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明;因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0031]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜