我正在使用symfony 1.4,似乎每次用户通过身份验证时,symfony都会为用户重新创建会话。例如,如果我访问一个站点并且我没有登录,那么我有一个不同的会话ID,那么如果我登录我有一个新的,那么当我退出时我还有另一个新的。这在symfony 1.0中并非如此,我想知道这是不是应该如何?
答案 0 :(得分:1)
我刚刚检查了1.0的源代码,那里不存在。
每次更改身份验证或添加/删除凭据时,版本1.1及更高版本都会重新生成会话ID
这是一个非常好的安全措施,可以防止会话固定攻击。
Here's a link到trac中的相关变更集。
答案 1 :(得分:0)
这是正确的行为。它与PHP会话相关,而不是symfony处理它们的方式。我不认为它在symfony 1.0中有所不同。
会话ID应该是唯一的,很难猜到。如果你总是获得相同的会话ID,那么曾经嗅过它的人可以在每次他想要的时候使用它(将它存储在cookie中并使用带有你的凭据的网站)。