如何在php中保护PHPSESSID?

时间:2009-08-04 07:48:22

标签: php session

我对如何保护PHPSESSID真的很无能为力。 session_id的值是否来自PHPSESSID?如果session_id受到损害,那将是灾难性的。有人有什么想法吗?

3 个答案:

答案 0 :(得分:3)

以下是PHP手册中的文章,它解释了PHP中的会话安全性:link

保护会话的最有效方法可能是在您的网站上启用SSL并强制在Cookie中存储会话ID。然后cookie将被加密,因为它们将被传递到您的网站,这应该保证足够的保护。

答案 1 :(得分:2)

你可以使用HTTPS作为RaYell说,但如果你买不起证书,有一些方法可以保证会话,即使使用HTTP:

  • 在创建会话时将用户代理存储在会话中。在每个请求上检查用户代理。如果用户代理更改,请删除会话。
  • 与上述相同,但使用IP地址。令人烦恼的是,很多ISP都提供动态IP,会话可以被非法删除。
  • 设置较低的会话超时。这不会阻止会话劫持,但会降低风险。请注意,这可能会使用户烦恼。
  • 设置较低的会话生命周期(1天)。这将迫使用户在1天后重新进行身份验证,因此即使会话被劫持,也不会被劫持超过一天。

请记住,这些建议不会阻止会话劫持。它们将大大降低风险,但除非您使用HTTPS,否则总会存在风险。

答案 2 :(得分:0)

session_id存储在用户系统的cookie中。保护它不确定你的意思。