注意:此问题是关于存储登录尝试和当前登录状态的位置。
我正在构建一个Web应用程序,用户需要注册才能获取登录系统时要使用的身份验证详细信息,但我是安全新手。
我希望用户每次会话只登录一次,因此用户不能拥有多个现有的成功身份验证,即无法同时从计算机a和计算机b登录,或者已成功验证相同的用户存在或未注销。
我想我需要跟踪用户的位置,登录尝试和当前登录状态;为了采取相应行动。 我正在寻求关于cookie和会话之间使用的建议,如何跟踪用户的位置以及更多建议的建议。
提前谢谢。
答案 0 :(得分:2)
这些都不是。
您必须使用数据库来满足您的需求
您必须在数据库中存储当前会话ID,登录尝试和登录状态
不知道什么是位置。
虽然cookie应该用于授权本身,但是要在服务器和客户端之间传输会话ID。
答案 1 :(得分:1)
据我所知,您无法跟踪和比较服务器上的会话,以检查同一“经过身份验证的”用户的活动连接。我假设您在数据库中跟踪您的用户登录名和密码,然后一旦他们进行身份验证,您就设置会话变量以跟踪他们在给定最终用户设备上的当前登录。
我能想象的最好的方法(除了常规的断开连接,用户没有注销等)将在数据库中有一个表来跟踪登录和状态:
一旦到位,您可以创建意外情况:
你得到了我希望的想法。
答案 2 :(得分:0)
Cookie 和会话之间的主要区别在于Cookie存储在用户的浏览器中,而会话则不存储。这种差异决定了每种方法的最佳用途。
人们应该去 cookies 存储我们想知道的用户将来何时返回网页的内容(例如,记住我在这台计算机上的登录页面上的复选框使用cookies来记住用户返回时) 会话应该用于记住特定浏览器会话的内容(例如用户名,显示在每个页面或任何需要的地方)。
好读: