zoukankan      html  css  js  c++  java
  • 解决 Iframe跨域session 丢失问题

    近在开发一个新浪微博的第三方应用的项目(http://apps.weibo.com/weilvyou,在项目中用到了session 。在测试时发现session 取不到值,以为是session赋值除了问题,但是在Chrome中一切正常,故排除此原因。那问题肯定出在浏览器身上里。于是一步一步调试,发现在IE中,如果页面跳转,SessionId 就改变了,问题找到了。然后看了人家其他的一些App,发现他们的请求中

    有这样一项头部信息——P3P

    出于隐私安全的考虑,IE会丢失Iframe中的CookieIE6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookieFirefoxChrome 不存在此问题。

    我们知道Session 其实就是基于Cookie的。客户端在第一次与服务器建立会话时,会分配给客户端一个随机的sessionId,并存于客户端cookie中,然后在之后的请求中,会带上这个Cookie,如果在客户端找不到这样的Cookie,那么服务器就会重新分配一个。

    那么要解决这个问题就是要在请求时添加“P3P”协议。

    Asp.Net中可以这样做:

    Global.asax.cs文件中添加如下所示代码: 

     

    原文地址:http://www.cnblogs.com/xumingxiang/archive/2012/09/05/2671690.html

    作者 : 徐明祥
    出处:http://www.cnblogs.com/xumingxiang 
    版权:本文版权归作者和博客园共有
    转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
    要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任 
  • 相关阅读:
    JVM系列三:JVM参数设置、分析
    JVM系列二:GC策略&内存申请、对象衰老
    HotSpot VM GC 的种类
    2.静态库和动态库
    1.GCC编译过程
    6.树
    5.队列
    4.栈
    3.线性表
    2.算法
  • 原文地址:https://www.cnblogs.com/xumingxiang/p/2671690.html
Copyright © 2011-2022 走看看