我有一个Web应用程序,我希望用户只能从一个位置使用它(这意味着用户无法在两个位置主动使用该应用程序).目前我以一种非常常见的方式工作,只允许1个cookie会话有效并在用户登录时删除任何现有的.不幸的是我被告知我的方法只允许1个cookie是不可接受的,因为我的用户移动周围很多不同的网站,并厌倦了每次登录.一个简单的解决方案就是允许超过1个cookie,但我不能这样做,因为我需要确保同时没有在两个位置使用用户帐户.
我想知道实现这样一个系统的最佳方法是什么,用户不能在多个位置活动,但不一定要在他们访问的每个位置登录.
我有一个可能的想法是允许记录多个cookie,但是一旦cookie变为活动状态(意味着我注意到导航应用程序的会话),所有其他cookie将被锁定一段时间限制,例如15分钟.如果没有cookie会话活动15分钟,那么允许任何cookie登录并获得对其他cookie的支配,直到它超过时间限制.
编辑:他们离开某个位置后可以保持登录状态
最佳答案 一种方法是记录他们的最后一个IP地址以及访问的时间.每次访问时,您都可以检查他们的上次访问权限.
如果最后一次访问来自同一个ip,请让他们通过.
如果最后一次访问是来自不同的IP,请检查多长时间.然后,您可以定义一个截止点,以确定它们在从另一个位置访问它之前需要多长时间闲置. 15分钟看似合理.
所有这些都可以在后端完成,这可能会提供更高级别的安全性.