php用户应该登录一个系统,除非请求不应该能够从其他系统登录

问题描述:

  1. 我想允许用户只能使用一个系统登录。
  2. 如果他们使用另一台机器,那么他们不应该能够登录。
  3. 如果他们想要登录,那么他们可以点击请求登录选项,它会发送一个重置链接到用户的电子邮件,当点击时将重置和更新数据库,以便从现在开始,他可以登录从他所做的机器形式重置请求。
  4. 因此,当用户更换他的机器时,他不应该能够登录并且可以请求重置选项。
  5. 我正在使用IP和会话ID和以前的会话ID来检查从一台机器登录。
  6. 如果他的会话在该机器中到期,他将在下一次通过将之前的会话id引用存储在cookie中来登录。
  7. 所以他每次访问时会有两种饼干意味着他以前是否在本机登录,如果是的话会话ID被更新,他已登录。php用户应该登录一个系统,除非请求不应该能够从其他系统登录

    所以,如果他是从登录一台机器,如果没有先前的/当前的会话ID/IP地址,那么他被认为是该机器的全新的,并且他不能登录。

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

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

    即使客户端在LAN中,所有上述条件都适用。

    做我的做法有并发症吗?如果是的话请建议一个好的。

    谢谢。


编辑评论之后,从https://*.com/users/164394/purplepilot


用户可以在任何地方登录,但如果机器的变化,他们可以通过他们的电子邮件请求复位。当他们点击电子邮件中的链接时,那台机器的ip将被记录下来,用户将不得不继续使用该系统。这是管理员要求的,因为只有两个管理员用户。

+0

我的问题会是为什么?你想达到什么目的? – PurplePilot 2010-09-25 13:04:03

+0

客户请求。 – 2010-09-25 13:15:26

+0

即使客户在LAN中,所有上述条件都适用。 – 2010-09-25 13:20:23

为什么不使用cookie而不是会话,因为您的应用需要这样做。

我想你感到困惑

会议从来没有存储在客户端的cookie一样。所以你必须考虑这个应用程序的cookie。该项目的逻辑似乎okey,一旦你实现cookie而不是会话。

+0

哈哈......谁不知道你的第一句话。即使客户端在LAN中,上述所有条件都适用。 – 2010-09-25 13:21:17

+0

我编辑了我的问题以添加几行。 – 2010-09-25 13:25:55

+0

你甚至在局域网中,作为cookie工作在个人机器到期时间 – 2010-09-25 13:26:14