2017-04-05 63 views
0

我读了一个会话ID是使用允许有一个小概率得到两个相等ID的算法创建的。但是如果我得到两个相等的东西会发生什么?我真的不知道会话是如何工作的,但我想我可以访问存储在具有相同ID的人的$_SESSION阵列中的数据。
在这种情况下,这不会是一件好事。是否有可能拥有真正独特的会话ID?
谢谢!PHP - 如果我得到两个相同的会话ID会发生什么?

+2

这个概率非常低,您不应该浪费另一个电子担心它。 –

+7

你这周出去买彩票 –

+1

人类对可能性有着可怕的直觉。 “微小概率”是一个数学真理,但并不意味着它会在实践中发生。 – deceze

回答

3

您不太可能或很可能会生成两个相同的会话ID。尽管这当然取决于用于生成ID的算法。

如果你想知道如何,例如PHP,生成会话,看看这里:PHP session IDs -- how are they generated? 正如你可以看到,这些课程并非完全随机的成分,如发放的用户的IP地址和时间使用,限制谁可以获得非常不可能的平等会话ID和时间。

此外,您可以通过限制会话过期时间,允许远程IP和域的使用限制同等会话ID以生效。

相关问题