php用户应该在一个系统中登录,除非有要求,否则无法从其他系统登录

时间:2010-09-25 12:57:23

标签: php session

  1. 我想允许用户只使用一个系统登录。
  2. 如果他们使用其他机器,那么他们就无法登录。
  3. 如果他们想登录,那么他们可以点击请求登录选项,它会向用户的电子邮件发送一个重置链接,当点击它时会重置并更新数据库,这样从现在开始他就可以登录表单了重置请求。
  4. 因此,当用户更换机器时,他无法登录并可以请求重置选项。
  5. 我正在使用ip和会话ID以及之前的会话ID来检查来自一台计算机的登录信息。
  6. 如果他的会话在该机器中到期,他将通过将以前的会话ID引用存储在cookie中来登录。
  7. 因此每次访问时都会有两个cookie表示他是否先前已登录此计算机,如果是,则会更新会话ID并登录。

    所以,如果他从一台机器登录,如果没有上一个/当前的session-id / ip-address,那么他被认为是该机器的新手,他无法登录。

    希望我已经说清楚了。如果不是很清楚那么请评论然后我将编辑我的问题。

    我想要一种更好的方法或一些其他有效的机制来实现这样的功能。

    即使客户在局域网中,上述条件也适用。

    我这样做是否有并发症?若是,那么请建议一个好的。

    谢谢。


  8. https://stackoverflow.com/users/164394/purplepilot

    发表评论后进行编辑

    用户可以在任何地方登录,但如果机器更改,他们可以通过电子邮件请求重置。当他们点击电子邮件中的链接时,将记录机器IP,用户必须继续在该系统中。这是由管理员请求的,因为只有两个管理员用户。

1 个答案:

答案 0 :(得分:1)

为什么不使用Cookie代替会话,因为您的应用需要。

我认为你很困惑

会话永远不会存储在客户端,cookie会存储。所以你必须考虑这个应用程序的cookie。一旦你实现cookie而不是会话,项目的逻辑似乎很好。