粗茶淡饭


Rome was not built in a day. 生气是拿别人的错误来惩罚自己
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

解决跨域iframe内容读写Cookies的问题

Posted on 2008-10-30 13:10  茶^_^米  阅读(2040)  评论(0编辑  收藏  举报

http://www.9enjoy.com/post/267/
这也算是长期困扰上面这个地址的仁兄的一个长期的问题吧,也是偶们郁闷的问题。就是A站iframe其它站(B站)的内容时,B站的页面获取不到B站种下的Cookies。

原因是
引用
如果页面是来自框架的,而框架的父页和框架不是一个站点的话,客户端默认是禁止向页面附加头信息的,这样服务器端就无法识别客户端框架里面的页面,自然不能操作Session。


这是一位仁兄的朋友发给他的一条信息中说,ie下 iframe和跨域名写cookie的问题,看了下,照做,测试成功!在试验时,先只在读取Cookies时设置,不行。读取和输出都设置才可以。后来发现,只需要在输出时设置一下就可以了,读取时无需设置:)

考虑直接改IIS设置比较麻烦,直接在ASP头部加了头部申明,测试有效。
<%Response.AddHeader "P3P", "CP=CAO PSA OUR"%>

php的话,我没去试,应该是如下写法:
header('P3P: CP=CAO PSA OUR');

ASP.NET的话,照抄网上的。
通过在代码上加Response.AddHeader("P3P", "CP=CAO PSA OUR")或者在Window服务中将ASP.NET State Service 启动。

JSP:
response.setHeader("P3P","CP=CAO PSA OUR")