首页 > 网站 > IE中的Frameset引起第三方站点cookie丢失的解决办法

IE中的Frameset引起第三方站点cookie丢失的解决办法

2009年2月14日 发表评论 阅读评论

在frameset里面,也就是里面的frame是来自第三方站点(不同IP或不同域名),那么默认情况下IE会自动禁用这些站点的cookie,也就是在请求某url时在HTTP header里不发送它们的cookie,包括session的cookie。注意,这些站点在response里面设置的cookie还是会被发送到浏览器的。

那么,解决的办法,自然是对frame里面的第三方站点的response header里面添加一个确认信息,在MSDN里面有个最简单的解决办法:response.addHeader(“P3P”,”CP=CAO PSA OUR”)。

最简单的办法,是用一个filter,对所有路径下的uri,都设置response.setHeader(“P3P”,”CP=CAO PSA OUR”)。
上面控制cookie的方法,和以前的方法很不一样。第一,它不是操作cookie本身。第二,它是在cookie之外控制cookie。第三,它不是set cookie,而是控制cookie是否随着请求发送(是否拦截cookie)。

另外一种办法就是强制url重写:tomcat关闭cookies,用URL重写传递sessionid。

分类: 网站 标签: 2,530 次阅读
原文链接:http://www.wenhq.com/article/view_247.html
欢迎转载,请注明出处:亲亲宝宝
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.