2014-01-23 22 views
1

未在Kohana中设置会话时出现问题。Kohana 3.3 - 未在IE中设置的会话

情况概述:

  • 的Kohana 3.3
  • PHP 5.3.x
  • 使用数据库会话
  • 的Chrome,Firefox和Safari(OSX) 都在正常工作。
  • 互联网Explorer的会话不能正对版本SET-8-10(测试与开发工具仿真)
  • 会议没有在数据库中,如果没有加密密钥设置这也恰好甚至创造(巧合?)
  • 可能的曲线 - 服务器位于负载平衡器后面。持久性在工作,这实际上是负载均衡器背后的唯一服务器,因此持久性是不可能的罪魁祸首。

我已经通过代码挖了一点,但无法找到任何会导致这是一个问题只是为了IE浏览器。

在URL或主机名的任何地方都没有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进行了测试,结果相同。

任何想法或见解?感觉我完全缺少明显

+0

如果设置'Session :: $ default ='native',它会工作吗?知道这将有助于缩小在哪里看。 –

+0

它没有。我应该包括 - 我将编辑原始帖子。 – chrisboustead

+0

使用像[WireShark](http://www.wireshark.org/)或[Fiddler](http://fiddler2.com/)这样的工具来捕获请求的HTTP标头 - 对于IE和任何工作浏览器,然后查找“Cookie”和“Set-Cookie”标题。让我们知道你发现了什么。 (您可以在[Gist](https://gist.github.com/)或[Pastebin](http://pastebin.com/)中发布完整标题 - 如果您认为有必要,请先将它们匿名化。) –

回答

0

解决的事情:

原来是缺少紧凑的隐私政策。 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"');