System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于网页安全,具体涉及一种浏览器跨页面引用iframe实现跨域获取认证信息的方法、装置、设备及介质。
技术介绍
1、iframe,是html标签,作用是文档中的文档,或者浮动的框架。iframe元素会创建包含另外一个文档的内联框架。
2、cookies,是小型文本文件类型,是某些网站为了辨别用户身份,进行session跟踪而储存在用户本地终端上的数据,由用户客户端计算机暂时或永久保存的缓存信息。
3、浏览器协议中的同源策略为,浏览器中协议、端口以及域名三者相同的网页才可访问。
4、当在作为父页面的web页面使用iframe引用了一个非同源的网站,该非同源网站需要将页面跳转到与父页面共同的认证中心中换取认证信息。此时一个矛盾是,在同源策略原则的浏览器协议中非同源的网站是无法共享cookies的,因此无法使用父页面的cookies换取认证信息,因此将最终导致无法完成业务系统的统一单独登录。此种情况在多域名或多子域名的应用中非常常见,严重影响了用户的体验以及系统的安全性。目前尚没有在不破坏浏览器同源策略的原则下,进行iframe跨域获取认证信息的方法。
5、此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种浏览器跨页面引用iframe实现跨域获取认证信息的方法、装置、设备及介质,是非常有必要的。
技术实现思路
1、针对现有技术的上述目前尚没有在不破坏浏览器同源策略的原则下,进行iframe跨域获取认证信息的方法的缺陷,本
2、第一方面,本专利技术提供一种浏览器跨页面引用iframe实现跨域获取认证信息的方法,包括如下步骤:
3、s1.在nginx服务器上配置p3p策略,配置允许进行跨域cookies传输的可信域名;
4、s2.将需要通过cookies共享的信息加密后生成跨域cookies信息,存储在nginx服务器;
5、s3.nginx服务器在接收到浏览器访问请求时,根据p3p策略判断是否允许跨域传输cookies,并在允许时将跨域cookies信息发送到浏览器端进行本地存储;
6、s4.当iframe中非同源网页需要获取认证信息时,非同源网页加载浏览器本地存储的跨域cookies信息,向nginx服务器请求获取认证信息。
7、进一步地,步骤s1具体步骤如下:
8、s11.获取nginx服务器的配置文件;
9、s12.在nginx服务器的配置文件中添加p3p策略;
10、s13.在nginx服务器上配置可信的域名及子域名,设置可信的域名及子域名允许进行跨域cookies传输。
11、进一步地,步骤s2具体步骤如下:
12、s21.网页设计的客户端将需要通过cookies共享的信息生成cookies信息,再使用密钥加密后打包到请求报文的相应字段,并将请求报文和密钥一并发送给作为服务端的nginx服务器;
13、s22.nginx服务器接收到请求报文后,使用密钥解密出cookies信息;
14、s23.nginx服务器判断用户是否允许cookies信息共享;
15、若是,进入步骤s24;
16、若否,进入步骤s25;
17、s24.nginx服务器将cookies信息存储在本地或会话中,进入步骤s3;
18、s25.nginx服务器拒绝共享cookies信息或提示用户允许cookies信息共享,结束。
19、进一步地,步骤s3具体步骤如下:
20、s31.nginx服务器判断是否接收到浏览器访问请求;
21、若是,进入步骤s32;
22、若否,等待设定时间段,返回步骤s31;
23、s32.nginx服务器根据p3p策略判断是否允许跨域传输cookies;
24、若是,进入步骤s33;
25、若否,进入步骤s34;
26、s33.nginx服务器生成响应报文,并在响应报文头中添加带有禁止标志的p3p字段,进入步骤s35;
27、s34.nginx服务器生成响应报文,并在响应报文头中添加带有允许标志的p3p字段,同时将跨域cookies信息添加到响应报文中;
28、s35.浏览器接收nginx服务器的响应报文,并对响应报文头中p3p字段进行检查;
29、当p3p字段中带有禁止标志,进入步骤s36;
30、当p3p字段中带有允许标志,进入步骤s37;
31、s36.浏览器判定禁止接收跨域cookies信息,结束;
32、s37.浏览器判定允许接收跨域cookies信息,并将接收的跨域cookies信息存储在本地。
33、进一步地,步骤s4具体步骤如下:
34、s41.当浏览器作为父页面使用iframe需要引用作为子页面的非同源网页时,父页面获取存储在本地的子页面的跨域cookies信息;
35、s42.父页面携带跨域cookies信息向nginx服务器发送认证信息获取请求;
36、s43.nginx服务器对认证信息获取请求中跨域cookies信息的有效性进行检验;若跨域cookies信息无效,进入步骤s44;
37、若跨域cookies信息有效,进入步骤s45;
38、s44.nginx服务器提示跨域cookies信息无效,结束;
39、s45.nginx服务器向父页面返回子页面认证信息。
40、第二方面,本专利技术提供一种浏览器跨页面引用iframe实现跨域获取认证信息的装置,包括:
41、p3p策略及可信域名配置模块,用于在nginx服务器上配置p3p策略,配置允许进行跨域cookies传输的可信域名;
42、跨域cookies服务器保存模块,用于将需要通过cookies共享的信息加密后生成跨域cookies信息,存储在nginx服务器;
43、跨域cookies本地保存模块,用于使nginx服务器在接收到浏览器访问请求时,根据p3p策略判断是否允许跨域传输cookies,并在允许时将跨域cookies信息发送到浏览器端进行本地存储;
44、非同源网页认证信息获取模块,用于当iframe中非同源网页需要获取认证信息时,使非同源网页加载浏览器本地存储的跨域cookies信息,向nginx服务器请求获取认证信息。
45、进一步地,p3p策略及可信域名配置模块包括:
46、配置文件获取单元,用于获取nginx服务器的配置文件;
47、p3p策略添加单元,用于在nginx服务器的配置文件中添加p3p策略;
48、本文档来自技高网...
【技术保护点】
1.一种浏览器跨页面引用iframe实现跨域获取认证信息的方法,其特征在于,包括如下步骤:
2.如权利要求1所述的浏览器跨页面引用iframe实现跨域获取认证信息的方法,其特征在于,步骤S1具体步骤如下:
3.如权利要求1所述的浏览器跨页面引用iframe实现跨域获取认证信息的方法,其特征在于,步骤S2具体步骤如下:
4.如权利要求1所述的浏览器跨页面引用iframe实现跨域获取认证信息的方法,其特征在于,步骤S3具体步骤如下:
5.如权利要求1所述的浏览器跨页面引用iframe实现跨域获取认证信息的方法,其特征在于,步骤S4具体步骤如下:
6.一种浏览器跨页面引用iframe实现跨域获取认证信息的装置,其特征在于,包括:
7.如权利要求6所述的浏览器跨页面引用iframe实现跨域获取认证信息的装置,其特征在于,P3P策略及可信域名配置模块包括:
8.如权利要求6所述的浏览器跨页面引用iframe实现跨域获取认证信息的装置,其特征在于,跨域cookies本地保存模块包括:
9.一种设备
10.一种存储介质,其特征在于,
...【技术特征摘要】
1.一种浏览器跨页面引用iframe实现跨域获取认证信息的方法,其特征在于,包括如下步骤:
2.如权利要求1所述的浏览器跨页面引用iframe实现跨域获取认证信息的方法,其特征在于,步骤s1具体步骤如下:
3.如权利要求1所述的浏览器跨页面引用iframe实现跨域获取认证信息的方法,其特征在于,步骤s2具体步骤如下:
4.如权利要求1所述的浏览器跨页面引用iframe实现跨域获取认证信息的方法,其特征在于,步骤s3具体步骤如下:
5.如权利要求1所述的浏览器跨页面引用iframe实现跨...
【专利技术属性】
技术研发人员:孙正均,房爱印,尹曦萌,牛月华,王泽宇,
申请(专利权)人:山东浪潮智水数字科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。