2

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

  1. 根据我的理解(如果我错了,请更正)如果我将会话 cookie 设置为安全,那么 cookie 只会在安全连接上发送。因此,在非安全连接上,服务器实际上无法记住基于用户访问的任何内容。我只是想确认我对此的理解。

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

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

    我觉得使用安全 cookie 对于用户身份验证/登录至关重要,但我也希望能够在非安全页面上进行某种形式的会话。

  3. Symfony2 对此有什么特别的处理吗?我知道它通过其内置类很好地处理会话,但它在使用安全 cookie 方面有什么特别的作用吗?

4

1 回答 1

3

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

对于 (2) - 您可以通过在查询字符串中传递 SessionID 来让 2 个单独的 $_SESSION (安全和不安全的)相互通信(可能带有一些哈希保护以避免顽皮的用户)。更多信息Session lost whenswitching from HTTP to HTTPS in PHP and Switching between HTTP and HTTPS pages with secure session-cookie

正如线程中所建议的那样,如果可能的话,您还可以考虑将您的页面设置为 HTTPS,从而让您的生活更轻松

对于 (3) - 我不是 Symfony2 方面的专家,但可以快速浏览文档,在这种情况下它没有任何特定工具可供您使用,除了支持设置是否要保护 cookie

于 2013-03-23T11:47:56.013 回答