p3p header在单点登录的cookie跨域中的应用

2016-01-29 12:52 69 1 收藏

p3p header在单点登录的cookie跨域中的应用,场景一: A网站全站均为UTF-8编码,B网站全站为GB2312编码。 A网站提供一段JS代码供B网站调用,该代码会动态生成一个FORM表单,以收集提交上来的数据。 B网站此时开始提交数据,但提交上来的中文均为乱码 。 现象 ...

【 tulaoshi.com - PHP 】

场景一:

A网站全站均为UTF-8编码,B网站全站为GB2312编码。

A网站提供一段JS代码供B网站调用,该代码会动态生成一个FORM表单,以收集提交上来的数据。

B网站此时开始提交数据,但提交上来的中文均为乱码 。

现象的产生是由于二个网站编码不一致而导致的,一般情况下使二个网站的编码一致即可。

如果无法统一编码该怎么办?

FORM有一个accept-charset属性

<form method="post" action="..." accept-charset="utf-8" 
...  
</form   

测试成功,但在IE下不成功,需要一个HACK来解决:
在form的onsubmit事件触发时动态改变document的编码,即:
onsubmit="document.charset='utf-8';"

场景二:

A网站提供一个页面供其它网站进行Iframe调用,该页面使用了SESSION,并进行了SESSION判断。

现象:

B网站IFRAME了A网站的页面,总显示SESSION过期,但直接在浏览器中打开该页面却又是正常的。

这是由于浏览器的安全性所致,SESSION依赖于COOKIE,A与B是二个完全不同的域,A网站没法去读取B网站下的COOKIE,所以 SESSION也就失效了。

解决办法:

A网站的页面在输出头上附加一个P3P属性,值为CP=CAO PSA OUR即可。
如:

Response.AddHeader("P3P", "CP=CAO PSA OUR");  
if (Session[SESSIONKEY] == null)  
{  
   //TODO:其它操作  
}  


在IE中,页面通过FRAME,JS,IMG等引用其他域名页面的时候,P3P协议会阻止引用也的cookie。

举例说明:

在 B.COM中,

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/php/)
<iframe width = 300 height = 300 src = ”http://www.a.com/test.php” mce_src = ”http://www.a.com/test.php”
此时,test.php中产生的cookie将会被阻止,而不会记录下来
这种情况下,我们引入P3P header ,情况就改变喽~
P3P header允许跨域访问隐私数据,从而可以跨域set-cookie成功
在 www.a.com/test.php中这样写:
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');

cookie就可以跨域了~

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/php/)

这种方法在单点登陆中被别广泛应用~

来源:https://www.tulaoshi.com/n/20160129/1487874.html

延伸阅读
1 前言 随着Internet的飞速发展,网络应用越来越广泛,对各种工业控制设备的网络功能要求也越来越高。当前的要求是希望工业控制设备能够支持TCP/IP以及其它Internet协议,从而能够通过用户熟悉的浏览器查看设备状态、设置设备参数,或者将设备采集到的数据通过网络传送到Windows或Unix/Linux服务器上的数据库中。这就要求工控系...
标签: 理财
P2P理财有哪些风险 p2p理财现在已经成为社会上比较流行的一种理财方式了,相对比银行理财来说,p2p理财能够面向更多的人群用户,低门槛让其拥有大量的用户能够在网上进行投资理财,当然P2P也有自己的风险所在。 1、道德风险道 德风险是P2P平台最主要的风险,说白了就是损人利己,主要分为三种类型。 1,一开始就谋划骗...
图片1 图片2 图片3 图片4 图片5 图片6 图片7 图片8
标签: 生活常识
在相当长一段时间内,中国小微企业的融资需求始终无法从银行等间接融资渠道中得到满足,这也为国内P2P金融平台发展提供了空间;几年时间内,中国P2P金融从无到有,并展现出强劲的发展后劲,甚至令国外机构直言要来“中国取经”。 p2p金融是什么?p2p金融公司 什么是P2P金融 P2P金融又叫P2P信贷。其中,P2P是peer...

经验教程

981

收藏

80
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部