zoukankan      html  css  js  c++  java
  • 解决跨域POST登录中IE不能正常工作的bug

    结合我的这篇blog 《简单实用的跨域表单POST提交》 文章,这篇blog中的思路是解决在www.a.com站中登录 同时要把关联站www.b.com登录状态也设置成登录状态,在a中获取登录信息传递给b。

    这个在firefox和chrome下是可以正常工作的,但是在测试IE的过程中却是怎么也不能正常工作。

    问题出在哪啊,折腾了好半天。这里做下记录,给自己加深记忆,也给遇到同类问题的有缘人启迪。

    原因:IE的P3P协议-->

    IE6/IE7从安全性角度考虑,支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,Firefox目前还不支持P3P安全特性,firefox中自然也不存在此问题了。

    这个协议阻止了iframe中是session[cookie]登录状态信息的写入和调用。导致程序不能正常工作。

    解决方案:

    再来回顾这篇blog《设置一个严格的SESSION过期时间

    我们在session_start();之前 改写http header头信息

    即在http header头文件中增加对跨域访问cookie数据的允许。

    header("P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");

    在网站总入口调用这个session基类,完整程序的如下:

    class session_base()
    {
        var $max_life_time  = 1440; // SESSION 过期时间||设为0即关闭浏览器即销毁session
        var $my_session_name = 'logonmy'
        var $session_cookie_path   = '/';//SESSION存储路径
        var $session_cookie_domain = '';//这里为空的话即为当前站点域名,也可以指定作用域名[.demo.com]
        var $session_cookie_secure = false;//一般都为false
     
     
        public function __construct()
        {
            header("P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");//这里添加p3p header
            $this->_session_base();
        }    
     
        private function _session_base()
        {
            //session_name($this->$my_session_name);//如果我们不想使用PHPSESSID作为session名称我们可以改成于本站相关或者喜欢的名称 
            session_set_cookie_params($this->$max_life_time,$this->$session_cookie_path,$this->$session_cookie_domain,$this->$session_cookie_secure);
            session_start();
        }
    }

    这样就可以解决IE下隐私信息的跨域访问问题了。

    参考:

    1,关于p3p 简洁策略,以及浏览器的支持情况.

    2,关于PHP的header("P3P: CP=CURa……")

    3,转载 php iframe 下 IE session 失效解决办法

  • 相关阅读:
    Scala 获取当前时间
    mnist 数据集的识别源码解析
    tf.nn.softmax_cross_entropy_with_logits的用法
    softmax函数
    实现手写体 mnist 数据集的识别任务
    MNIST 数据集
    神经网络之激活函数
    模块化神经网络
    np.c_与np.r_
    学习率的选取-滑动平均
  • 原文地址:https://www.cnblogs.com/logon/p/3305740.html
Copyright © 2011-2022 走看看