PHP / Symfony2中每个用户两个会话


Two sessions per user in PHP / Symfony2

我正在使用Symfony2,但这可能只是一个PHP问题。

  1. 根据我的理解(如果我错了请纠正),如果我设置会话cookie以确保安全,则cookie仅在安全连接上发送。因此,在非安全连接上,服务器实际上无法根据用户访问记住任何内容。我只是想确认一下我对这件事的理解

  2. 是否可以有两个会话cookie ?一个是所有协议存储不安全的会话数据(例如,不是用户认证/登录),第二个会话将是安全的,并处理登录授权。

    我知道我可以为奇怪的不安全的事情设置一个本地cookie,但我真的希望能够使用$_SESSION两次(一次用于所有,一次用于仅https)。

    我觉得使用安全cookie对于用户身份验证/登录是必不可少的,但我也希望能够在非安全页面上也有某种形式的会话。

  3. Symfony2做了什么特别的任何这一点?我知道它通过其内置类处理会话非常好,但它在使用安全cookie方面有什么特别之处吗?

对于(1)-是的,你是正确的

For(2) -你可以有2个分开的$_SESSION(安全的和不安全的)通过在你的查询字符串中传递SessionID来相互通信(可能有一些哈希保护来避免调皮的用户)。在PHP中从HTTP切换到HTTPS以及使用安全会话cookie在HTTP和HTTPS页面之间切换时会话丢失

在线程中建议,如果可能的话,你也可以考虑让你的页面HTTPS

使你的生活更容易。

For(3) -我不是Symfony2的专家,但快速浏览文档,它没有任何特定的工具供您在这种情况下使用,除了支持设置,如果你想要你的cookie安全或不