一种安全非同源页面跨域通信的方法技术

技术编号:30429828 阅读:13 留言:0更新日期:2021-10-24 17:20
本发明专利技术公开的属于网络安全技术领域,具体为一种安全非同源页面跨域通信的方法,包括以下步骤:步骤1:在页面一中建立广播数据监听事件;步骤2:在页面一获取页面二所在窗口对象的实例;步骤3:在页面二发送不同类型的广播,触发页面一监听事件;步骤4:在页面一和页面二之间进行安全验证和广播数据验证;步骤5:在页面一和页面二之间进行广播加密,加密过程贯穿整个通信过程;本发明专利技术提供了一种安全非同源页面跨域通信的方法,实现了不同域间页面的跨域通信,同时能够保证通信过程安全,可以支持企业进行安全有效,且成本低廉的相关网页应用产品设计与构建。设计与构建。

【技术实现步骤摘要】
一种安全非同源页面跨域通信的方法


[0001]本专利技术涉及网络安全
,具体为一种安全非同源页面跨域通信的方法。

技术介绍

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

技术实现思路

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

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

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

接收过程;通过发送方,即页面二确认接收方,即页面一所携带的时间戳,能够保证确认通信过程的完整性,准确性,防止因网本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种安全非同源页面跨域通信的方法,其特征在于:包括以下步骤:步骤1:在页面一中建立广播数据监听事件;步骤2:在页面一获取页面二所在窗口对象的实例;步骤3:在页面二发送不同类型的广播,触发页面一监听事件;步骤4:在页面一和页面二之间进行安全验证和广播数据验证;步骤5:在页面一和页面二之间进行广播加密,加密过程贯穿整个通信过程;其中,所述页面一与页面二属于不同的域。2.根据权利要求1所述的一种安全非同源页面跨域通信的方法,其特征在于:所述步骤3中发送不同类型的广播其发送方式为PostMessage方式。3.根据权利要求2所述的一种安全非同源页面跨域通信的方法,其特征在于:所述发送的广播内容为一个结构化对象数据,所述结构化对象数据包括:待发送数据,数据发送源,数据接受源,广播类型,时间戳,安全验证码。4.根据权利要求3所述的一种安全非同源页面跨域通信的方法,其特征在于:所述广播类型为一段字符串,所述结构化对象数据中待发送数据的内容由广播类型确定。5.根据权利要求3所述的一种安全非同源页面跨域通信的方法,其特征在于:所述时间戳为当前时间的毫秒数。6.根据权利要求1

3任一项所述的一种安全非同源页面跨域通信的方法,其特征在于:所述不同类型的广播通过结构化对象的广播类型字段定义。7.根据权利要求1...

【专利技术属性】
技术研发人员:韩志科
申请(专利权)人:浙大城市学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1