2013-02-16 154 views
2

UPDATE:丢失会话以SSL

站点现在适用于所有的浏览器现在,Chrome。我认为这很奇怪 - 从服务器切换到使用SSL以来,这一切都已经出现。

正如我已经把这个应用程序中的建议:

ini_set('session.use_trans_sid', true); 
ini_set('session.use_cookies', true); 
ini_set('session.use_only_cookies', true); 

$https = false; 

if(isset($_SERVER['HTTPS']) and $_SERVER['HTTPS'] != 'off') { 
    $https = true; 
} 

$dirname = rtrim(dirname($_SERVER['PHP_SELF']), '/') . '/'; 

session_name('money'); 
session_set_cookie_params(0, '/', $_SERVER['HTTP'], $https, true); 
session_start(); 

但我仍只是不能获取会话设置 - 因此控制器在取决于所需的应用是根据各地MVC页面加载到URL中。

会话正在通过必需/包含文件传递吗?

+0

否确定这是否是愚蠢的,但检查[在PHP中从HTTP切换到HTTPS时会话丢失](http://stackoverflow.com/questions/441496/session-lost-when-switching-from-http-to -https-in-php) – 2013-02-16 11:51:41

+0

Nah完全不同 - 我的问题是当您在HTTPS页面上保留页面 – 2013-02-19 10:54:11

+0

您需要更多地解释您的情况,因为您已经添加了奖励。如果你想得到准确的答案,那么给出你的问题的更详细的解释,并尽可能向我们展示一些代码。 – Aborted 2013-02-19 15:21:45

回答

6

与被铬请求的Favicon.ico有关 - 我永远不会猜到。

非常感谢所有帮助过我的人!

+4

这怎么可能?你是如何解决这个问题的?仍然,+1自我解决。 – 11684 2013-02-25 18:01:07

+0

Chrome只是不断尝试在SSL上查找服务器上的某些文件(favicon和样式表),如果它找不到它,它会阻止会话...非常奇怪。通过搜索的流量负载发现,一个关系是favicon,给它一个去和繁荣! – 2013-03-27 14:31:15

0

HTTP当您在同一服务器上的HTTPHTTPS服务之间切换时,会话ID未被传递到HTTPS会话。您可以通过将会话ID从HTTP传递给HTTPS来进行设置。

您可以到HTTPS或HTTPS管理之间的HTTP会话HTTP:使用页面之间

  1. 发送会话ID由POST GET
  2. POST会话ID
  3. 使用文件来保存会话
  4. 使用会话饼干
  5. 使用数据库保存会话