PHP用户会话

时间:2010-06-12 18:22:47

标签: php session

我有点困惑。我一直用我自己的会话系统构建我的网站,但我不确定php自己的会话系统有多安全。我的会话系统通常只有用户ID和非常苛刻的哈希,它不包括用于生成的用户名或密码。我将哈希保存在用户数据库中,并作为cookie保存每个页面加载时的用户会话。所以我的问题是我可以信任php会话还是继续使用我自己的?

3 个答案:

答案 0 :(得分:1)

PHP在cookie中保存一个唯一的会话ID,并在服务器上保存与其自身文本文件中的会话相关的所有值。您必须获取会话ID才能窃取会话,这意味着您必须从受害者的计算机中窃取会话cookie。 PHP自己的系统至少和你的自制系统一样安全

差异可能是通过蛮力找到活跃会话有多难。这完全取决于散列算法和随机数生成器。

您可以configure PHP使用不同的哈希算法,或者如果您不相信PHP可以正确使用PHP会话系统,您甚至可以使用own algorithm to create the session ids

答案 1 :(得分:0)

将数据存储在Cookie中与使用PHP的会话存储方式截然不同。 Cookies在客户端存储数据;会话存储数据服务器端,这有很多好处:

  • 用户看不到它
  • 用户无法修改
  • 浏览器不需要在每次请求时将数据发送到服务器

通常,PHP会话会将会话密钥存储为cookie(尽管他们不必这样做),但是您实际关心的数据都不会发送给用户,而是存储在服务器上并使用会话密钥

答案 2 :(得分:0)

  

我不确定php自己的会话系统有多安全

世界其他地方不确定你的安全程度。很多人在PHP中查看了会话处理程序,但没有发现实现中的任何缺陷。它也很好地表征和集成,但支持用户定义的处理程序的概念。

我建议使用标准会话代码 - 但您可能希望编写自己的处理函数。

下进行。