我的网站上有登录系统,用户必须为使用我的网站付费。由于他们必须付费,我担心一个用户可能会与其他用户共享他的用户名和密码。所以我必须以这样的方式设置我的登录系统,即一次没有用户可以使用多个浏览器。但是他们可以不时地改变浏览器(不是在同一时间,而是在一天中的不同时段)。我怎么能通过PHP实现它?有什么想法吗?
答案 0 :(得分:2)
您可以在登录时从其会话ID生成令牌/哈希。将此令牌添加为cookie值,然后将其存储在数据库中。如果用户登录并且他们的cookie值与存储在数据库中的值不匹配,那么他们可能已经登录到其他地方。
答案 1 :(得分:0)
检测他的IP并在每次更改时让他添加计算机(就像Steam一样)并设置一个带有上次访问日期的标志。如果在10分钟内没有任何活动出现在其他计算机上,他就会对每个动作进行更新(如在线系统)。他只能访问1,你不能阻止这种情况,因为人们可能是无知的,即使你让他们输入明智的数据,让他对提供他的证书更加怀疑是徒劳的......
答案 2 :(得分:0)
我想到的唯一方法是,一旦用户登录,您就可以在数据库中保留一个标志(表格列)。因此,如果他再次尝试登录,您将检查该标志是否已设置。如果设置了,那么你可以给出错误..并且记得在用户注销后重置该标志..
答案 3 :(得分:0)
尝试检查ip,或使用2因素身份验证。
(例如,要求用户点击其电子邮件中的链接进行登录)
答案 4 :(得分:0)
使用帮助程序javascript预加载器收集非个人浏览器信息,并根据登录时间/帐户/ IP /浏览器信息生成哈希。
在服务器端检查每个用户帐户一次只能激活一个哈希,如果发生这种情况,则强制注销以前的哈希值。使用另一个客户端javascript定期ping服务器并检查哈希唯一性,并无缝地重新登录合法用户以获取“动态IP”用例。
因此,如果用户与另一个用户分享他的帐户,他们将不断地“互相”挤出网站,直到他们厌倦了支付第二个帐户为止。