Php 在哪里存储登录尝试和当前登录状态、cookie或会话?

Php 在哪里存储登录尝试和当前登录状态、cookie或会话?,php,mysql,session,cookies,Php,Mysql,Session,Cookies,注意:这个问题是关于在哪里存储登录尝试和当前登录状态的 我正在构建一个web应用程序,用户需要注册以获取登录系统时使用的身份验证详细信息,但我在安全方面完全是新手 我希望用户每次会话只登录一次,因此用户不能有多个现有的成功身份验证,即不能同时从计算机a和计算机b登录,或者当同一用户的成功身份验证存在或未注销时 我想我需要跟踪用户的位置、登录尝试和当前登录状态;以便采取相应行动。 我正在寻求您关于在cookie和会话之间使用什么、如何跟踪用户位置的建议,欢迎提供更多建议 提前感谢。Cookie和会

注意:这个问题是关于在哪里存储登录尝试和当前登录状态的

我正在构建一个web应用程序,用户需要注册以获取登录系统时使用的身份验证详细信息,但我在安全方面完全是新手

我希望用户每次会话只登录一次,因此用户不能有多个现有的成功身份验证,即不能同时从计算机a和计算机b登录,或者当同一用户的成功身份验证存在或未注销时

我想我需要跟踪用户的位置、登录尝试和当前登录状态;以便采取相应行动。 我正在寻求您关于在cookie和会话之间使用什么、如何跟踪用户位置的建议,欢迎提供更多建议


提前感谢。

Cookie和会话之间的主要区别在于Cookie存储在用户的浏览器中,而会话则不存储。这一差异决定了每种方法的最佳用途

人们应该使用cookies来存储我们希望在用户将来返回网页时知道的内容(例如,登录页面上的“在这台计算机上记住我”复选框使用cookies来记住用户返回时的信息)。
会话应用于记住特定浏览器会话的内容(如用户名,显示在每页或任何需要的地方)

好书:


Cookie和会话之间的主要区别在于Cookie存储在用户的浏览器中,而会话则不存储。这一差异决定了每种方法的最佳用途

人们应该使用cookies来存储我们希望在用户将来返回网页时知道的内容(例如,登录页面上的“在这台计算机上记住我”复选框使用cookies来记住用户返回时的信息)。
会话应用于记住特定浏览器会话的内容(如用户名,显示在每页或任何需要的地方)

好书:

    • 这些都没有。
      您必须使用数据库来满足您的需求。
      您必须在数据库中存储当前会话id、登录尝试和登录状态。
      不知道什么是位置

      虽然Cookie应用于授权本身,但用于在服务器和客户端之间传输会话id

      这些都没有。
      您必须使用数据库来满足您的需求。
      您必须在数据库中存储当前会话id、登录尝试和登录状态。
      不知道什么是位置


      虽然Cookie应用于授权本身,但用于在服务器和客户端之间传输会话id

      据我所知,您无法跟踪和比较服务器上的会话,以检查同一“已验证”用户的活动连接。我假定您在数据库中跟踪您的用户登录名和密码,然后在他们进行身份验证后,设置一个会话变量来跟踪他们在给定最终用户设备上的当前登录名

      我能想象的最好的方法(除了经常出现的断开连接故障、用户未注销等)是在数据库中有一个表来跟踪登录和状态:

      • 用户ID
      • IP地址(从标题/浏览器中提取)
      • 上次登录时间戳(UTC)
      • 当前登录状态(布尔值)
      • 上次已知的服务器会话值
      一旦准备就绪,您就可以创建应急:

      • 如果我通过让服务器销毁存储在数据库中的会话并将其替换为新设备的活动会话,在其他地方再次成功进行身份验证,请将我从登录的设备注销
      • 验证后检查IP地址,锁定用户,或使用上述方法注销远程会话

      我希望您能理解。

      据我所知,您无法跟踪和比较服务器上的会话,以检查同一“已验证”用户的活动连接。我假定您在数据库中跟踪您的用户登录名和密码,然后在他们进行身份验证后,设置一个会话变量来跟踪他们在给定最终用户设备上的当前登录名

      我能想象的最好的方法(除了经常出现的断开连接故障、用户未注销等)是在数据库中有一个表来跟踪登录和状态:

      • 用户ID
      • IP地址(从标题/浏览器中提取)
      • 上次登录时间戳(UTC)
      • 当前登录状态(布尔值)
      • 上次已知的服务器会话值
      一旦准备就绪,您就可以创建应急:

      • 如果我通过让服务器销毁存储在数据库中的会话并将其替换为新设备的活动会话,在其他地方再次成功进行身份验证,请将我从登录的设备注销
      • 验证后检查IP地址,锁定用户,或使用上述方法注销远程会话

      我希望您能理解。

      在大多数情况下,cookie将存储您的会话ID。这似乎是一种愚蠢的区别。在大多数情况下,cookie将存储您的会话ID。这似乎是一种愚蠢的区别。谢谢您的建议。理论上,我所说的地点是指登录用户所在的国家、城市或城镇。实际上,你永远不会使用其他任何东西。无论如何,这个问题是关于不同的事情的。@Anthony您正在使用cookies在客户机上存储会话id。你知道,在很难找到数据库的地方,你会混淆客户机和服务器。我的声明是关于客户机的,而你的声明是关于服务器的。不能使用数据库在客户端上存储cookie。这就是为什么。@Anthony我编辑了我的答案,这样你就不会感到困惑了