Kohana 3.3 - 未在IE中设置的会话

时间:2014-01-23 20:00:42

标签: php internet-explorer session kohana kohana-3

在Kohana中没有设置Sessions的问题。

情况概述:

  • Kohana 3.3
  • PHP 5.3.x
  • 使用数据库会话
  • Chrome,Firefox,Safari(OSX) 一切正常。
  • Internet Explorer - 会话未设置版本8-10(使用开发工具模拟进行测试)
  • 甚至没有在数据库中创建会话,当没有设置加密密钥时也会发生这种情况(巧合?)
  • 可能的曲线球 - 服务器位于负载均衡器后面。持久性正在发挥作用,这实际上是负载均衡器背后唯一的服务器,因此持久性不太可能成为罪魁祸首。

我已经挖掘了一些代码,但是找不到任何会导致这个问题只是针对IE的问题。

网址或主机名中没有dreaded underscores,无论我将Cookie::$domain设置为什么,结果都是相同的。

session.php 设置文件:

return array(
    'native' => array(
        'name' => 'session_native',
        'lifetime' => 43200,
        'encrypted' => TRUE,
    ),
    'cookie' => array(
        'name' => 'session_cookie',
        'encrypted' => TRUE,
        'lifetime' => 43200,
    ),
    'database' => array(
        'name' => 'session_database',
        'encrypted' => TRUE,
        'lifetime' => 43200,
        'group' => 'default',
        'table' => 'sessions',
        'columns' => array(
            'session_id'  => 'session_id',
            'last_active' => 'last_active',
            'contents'    => 'contents'
        ),
        'gc' => 500,
    ),
);

已设置Session::$default = 'database';,但似乎与仅IE问题无关。还使用native个会话进行了测试,结果相同。

有任何想法或见解吗?感觉我错过了一些完全明显的东西

1 个答案:

答案 0 :(得分:0)

<强>解决:

原来是一个缺失的Compact隐私政策。 IE默认情况下有更严格的隐私设置,添加以下标题解决了问题(不理想,但不需要制作整个P3P文件)。

/**
 * Added for P3P cookie support
 */
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');