在PHP中创建登录领域的最佳方法

时间:2010-07-28 22:45:30

标签: php security login

我可以用PHP登录领域,我这样做的方法是设置会话变量并检查是否设置了会话变量。在每个受限制的页面上,我检查是否设置了某个会话变量(或等于某个值)。如果没有,那么我将把用户发回到登录页面。这是最好的方法吗?有没有更安全的方法呢?

3 个答案:

答案 0 :(得分:1)

这很好,很正常。在页面顶部,您有一个标题,用于启动会话并检查用户是否已通过身份验证。如果不是,请让他们登录。

只要您的会话ID不可预测,足够快地过期,并且您正在使用SSL,就可以确保安全。

如果有人猜到你的会话ID,他们就会劫持另一个用户的登录信息。

如果您没有使用SSL,攻击者可以在客户端将其发送给您时窃取会话ID。

如果您的会话永不过期,最终可能会猜到ID。

答案 1 :(得分:1)

在设置登录系统时需要考虑很多事情。以下是您要回答的一些问题:

  • 安全性:您需要在存储的任何位置加密密码(Cookie,数据库,会话等)。你会怎么做?
  • 用户是否可以登录每个页面?或者是否会有一个集中的帐户页面?
  • 有记得我的功能吗?
  • 用户如何退出?
  • 您的网站是否有激活?它将如何运作?您将如何处理各种情况,例如未激活的用户尝试登录?
  • 您是否有登录/表单重定向?即,如果用户在没有登录的情况下进入页面,您是否会在登录后将其发送到那里?如果他们试图发送表格怎么办?你会重新发送表格。

你有正确的基本想法,但你构建一切的方式取决于那些和其他问题。

答案 2 :(得分:0)

我之前在SO上有类似的问题,here是安全人员的答案。

简而言之,您应该考虑SSL和密码哈希等其他内容......

希望这会有所帮助:)