php 会话控制
请教一个问题:有一个PHP的网站,想增加会话控制的功能:
当一个用户登录(以用户名A)后,在另一台机器上以用户名A不能登录(可能是不同的浏览器)。
请问,这个功能通过session如何实现。
提前谢过! 可以尝试拿浏览器agent+ip来区分,如果还是区分不了,那就做不到。 hash ip效果比较不错
如果遇到adsl用户断线重连,怎么办呢?? 感觉你做的会话控制有点类似传统的cs连接
问问qq是怎么做的吧,即保持单一性,又做到了大吞吐量 我怎么跑到php板块来了,一个纯做苦力的地方 1. session 存 DB
2. 登录时 check 是否已登录
3. check client ip 首先这个设计有些问题,不大适合http协议的特点。
其次,这个问题可以实现,很简单,不能把会话和这个要求混一起。
每次登陆成功的时候,给客户端写一个GUID的cookie,,同时服务器端把这个cookike存在数据或者缓存里。
别的客户端登陆时,检测是否有这个cookie,以及cookie的值是否和当前登陆的值相同。
当然这又牵扯到别的很多问题,比如何时登出? 手动登出可以通知服务器删除guid,但是自动超时登出呢?
是否在登陆时添加强制别的客户端退出的功能?以防止你的一台电脑突然坏了,然后用别的电脑继续工作时,发现不能登陆。
这个工作机制可以做到,但能否保证安全可靠就难说了
页:
[1]