kaede_1 发表于 2014-06-17 12:48

php 会话控制

请教一个问题:
    有一个PHP的网站,想增加会话控制的功能:
    当一个用户登录(以用户名A)后,在另一台机器上以用户名A不能登录(可能是不同的浏览器)。
    请问,这个功能通过session如何实现。

    提前谢过!

weishuo1999 发表于 2014-06-18 18:22

可以尝试拿浏览器agent+ip来区分,如果还是区分不了,那就做不到。

action08 发表于 2014-06-22 11:54

hash ip效果比较不错

如果遇到adsl用户断线重连,怎么办呢??

action08 发表于 2014-06-22 11:56

感觉你做的会话控制有点类似传统的cs连接


问问qq是怎么做的吧,即保持单一性,又做到了大吞吐量

action08 发表于 2014-06-22 11:57

我怎么跑到php板块来了,一个纯做苦力的地方

bs 发表于 2014-06-23 18:10

1. session 存 DB
2. 登录时 check 是否已登录
3. check client ip

linustd 发表于 2014-06-25 14:20

首先这个设计有些问题,不大适合http协议的特点。

其次,这个问题可以实现,很简单,不能把会话和这个要求混一起。

每次登陆成功的时候,给客户端写一个GUID的cookie,,同时服务器端把这个cookike存在数据或者缓存里。

别的客户端登陆时,检测是否有这个cookie,以及cookie的值是否和当前登陆的值相同。

当然这又牵扯到别的很多问题,比如何时登出? 手动登出可以通知服务器删除guid,但是自动超时登出呢?

是否在登陆时添加强制别的客户端退出的功能?以防止你的一台电脑突然坏了,然后用别的电脑继续工作时,发现不能登陆。

action08 发表于 2014-08-12 07:47

这个工作机制可以做到,但能否保证安全可靠就难说了
页: [1]
查看完整版本: php 会话控制