Php 我应该阻止人们同时登录我的网站两次吗?

Php 我应该阻止人们同时登录我的网站两次吗?,php,cookies,session-cookies,Php,Cookies,Session Cookies,我注意到在社交网站上,你可以同时使用多个浏览器或计算机登录。对于我正在构建的网站,出于安全考虑,我计划允许用户一次只登录一次。对于一个关于娱乐的网站来说,这是不是太过分了?你认为增加的安全性是否值得烦扰在多台计算机之间来回切换的人(如我)?登录两次是否有任何额外的好处?也就是说,有两个入口点的比赛可能是有利的?如果不是,听起来像是杀戮过度,不值得 现在,防止用户嗅探cookies和窃取会话(以及防止它)是另一个主题,但我不认为这就是你的意思。我希望能够从任何我想要的地方登录,因此如果我切换到另一

我注意到在社交网站上,你可以同时使用多个浏览器或计算机登录。对于我正在构建的网站,出于安全考虑,我计划允许用户一次只登录一次。对于一个关于娱乐的网站来说,这是不是太过分了?你认为增加的安全性是否值得烦扰在多台计算机之间来回切换的人(如我)?

登录两次是否有任何额外的好处?也就是说,有两个入口点的比赛可能是有利的?如果不是,听起来像是杀戮过度,不值得


现在,防止用户嗅探cookies和窃取会话(以及防止它)是另一个主题,但我不认为这就是你的意思。

我希望能够从任何我想要的地方登录,因此如果我切换到另一台计算机,我不会发现我是因为在其他地方登录而注销的


如果您希望它是安全的,您可以显示一个警报,说明同一个帐户已从不同的位置登录(第二次登录),甚至可以选择禁用该选项。

是的,这是一种过激行为

很难察觉。你会遇到各种各样的问题。 因为你想检测用户,而不是浏览器,所以cookies已经过时了。会议结束了

您现在可以考虑IP地址,但这也有问题。(假设多个用户使用NAT箱)

如果您决定检查用户只能登录一次,并且在注销或超时之前不允许登录;在连接失败的情况下锁定用户

它也没有任何安全好处。只是有很多恼怒的用户。
如果一个用户想和你的应用程序有两个会话,就让他拥有它们

这是一个好问题,但并不真正适合堆栈溢出。也许你应该看看。一个可能的例子是,时间和持久性很重要的低价拍卖网站,它可能有利于防止多重身份验证。然而,我无法想象有太多其他网站需要投入精力。事实上,我担心的是有人登录后忘记注销,让下一个使用该计算机的人来干扰他们。我认为你是对的,这太过分了。然而,还有另一种方法可以检测它。数据库中可以有一个字段,其中包含上次使用的会话ID,并且每次用户登录或查看页面时会话ID都会更改,但前提是当前会话ID与数据库中存储的会话ID匹配。人们担心的是,人们在使用其他人的计算机时可能会忘记注销。似乎您不打算让来自印度等国家的用户登录,因为印度的互联网连接不好、电源故障等,而同一用户必须重新登录。:-)到目前为止,我开发的代码允许持久cookie存储会话ID,因此您甚至可以关闭浏览器,在返回时仍然可以登录。但即便如此,我还是倾向于同意你的看法。我认为这也会使测试变得更加复杂。你打算如何确定“不同的位置”?(注意:这是一个反问句;没有可靠的方法可以这么做。)我说的不同地点是指同时登录两次。我现在正在编辑