您的位置:首页 > 其它

Iframe跨域Cookie解决方案

2009-08-12 10:06 183 查看
原文地址:http://www.klipdas.com/blog/?p=iframe%E8%B7%A8%E5%9F%9Fcookie%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88

刚进公司就被发配到合肥了,搬搬手指脚趾算算都1个半月了,住了这么久的7天酒店,也吃了这么久的华安不错饭菜,肚子也略有微起了,尽管每天下午还是胃胀,胃疼,但这里的伙食确实不错,如果上海没有家,还真舍不得离开这里。

项目已接近收尾,上周六开始部署正式环境,测试环境运行一切正常,但到了正式环境确歇菜了。最大的问题的是没有提示错误,仅仅是空白的页面。但是访问不需要权限的页面还是可以正常访问,所以可以下定论是出在恒生接口上,对接口的封装错误,或是接口本身错误,不过接口本身错误的可能行比较小。重新注册了COM接口,正常了。

不过运行到下午,在整理正式环境上的文件的时候,系统有歇菜了,难道是我们动了相关的文件了。但文件都彻底删除了。问题有要找啊找,熬到晚上7点半,终于重新注册COM接口,系统正常。原来,反复重新注册都没有用的原因是COM接口注册错了。中午歇菜的原因是把COM接口的ddl文件也删了。

周日发现,在王哥机器上访问登陆页面时总是报验证码错误,之前也是这样,但在我机器上确没有,其他同事也有类似错误。该登陆界面是客服平台的登陆页面,通过iframe镶嵌在网站上的,初步猜测是跨域访问,浏览器设置的问题。但是当时没有在意,现在部署到正式环境下就不能不当回事了。幸好老大这周过来了,一下就命中问题所在,就在网上找了解决方案,方案很简单就是在页面中加一行代码即可。就是在iframe内页中添加Response.AddHeader("P3P","CP=CAO PSA OUR");一行代码,可是内外页面都试了,还是不行,但是问题肯定可以通过类似解决方案解决。

后来就正对iframe跨域访问cookie的解决方法来google解决方案,最终找到方法,针对iframe内页操作:

1. Response.AddHeader("P3P","CP=CAO PSA OUR");
2. 打开IIS
管理工具——〉选择一个网站——〉属性——〉http头,增加一个http头
然后输入头名:P3P
输入头内容:CP=CAO PSA OUR

问题解决
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: