如何实现禁止用户多会话,即用户登录后,以此用户名在其他机器上登录不进去 多会话 , JS, php 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 无解!http://bbs.csdn.net/topics/350109096 刚看错问题回答错了。问的是php,我不会。但是会java的,说不定给能你点思路!你说的其实是单点登录!java可以用静态map实现1、所有在线用户存入静态map中,用户名作为key,操作时间作为value2、过滤器中刷新静态map,更新用户的操作时间3、后台起个定时器,每秒(自己配)扫描map,根据map中的时间与当前时间做判断,超过阈值(自己配或session失效时间),就可以认为该用户已经断开了,从map中移除该用户4、页面的判断就很简单,登录时,检查该用户在map中是否存在,否 ? 登录 : 提示已登录 php中有没有监听器?java中实现是很好办的,用监听器,就可以很容易实现,这个就是单点登陆。 http://www.2cto.com/kf/201201/117069.html 百度搜的,可以看看 这个简单,是后台设定问题。会员表增加一个int类型的字段,online,值设为0和1;当会员登录时,检测online,如果为0(没有人登录)就登上去,online值改为1;当退出或者长期不活动时,online又重新改为0。这就解决了。 这个你可以去找php会员在线的程序,改改就可以了。 可以在表里添加一个最后活动时间字段,判断超过N分钟后就算离线,可以登陆。因为一个用户进入网站后,肯定会不定时刷新页面,每次有交互都更新最后活动时间。这样就可以不管你非法不非法退出,哪怕你登陆了长时不操作也会强迫退出,跟session超时一样原理。 这个思路之前也考虑过,假如session的超时时间我设置为10分钟,那么最坏的情况下可能需要等待10分钟才能登陆系统... 你好,假如我刚登进系统,不小心关闭了浏览器,那么我是否要等待session超时之后才能再次登系统? 细问一下,最后一个登陆后,怎么是之前的失效?重新设置session? 服务器怎么知道访问者是谁?因为访问者提供了一个凭据(唯一的)通过这个凭据 你可以获取相关的访问者的 信息(包括身份信息)(这个凭据基本是在类似session的方式中实现的 这个不是重点)那么 假定 用户访问的时候 凭据 映射 用户信息现在禁止多点同时登录 要另外 在加一个映射 用户信息 包含当前 有效凭据登录: 初始化新的凭据 映射用户信息 用户信息 映射当前新的凭据访问 :一个凭据 映射的 用户信息 中包含的 有效凭据 不等于 这个凭据 那么 证明 这个用户 已经被 从其他位置踢出去了差不多这个概念 凭据[任意个] ---》 userkey[唯一]userkey---》用户信息用户信息:{ 包含 当前最新的凭据}userkey 是唯一的 通过userkey 可以获取用户信息同一个用户的用户凭据可以有无数(每次登录产生一个) 指向该用户唯一的 userkey但是 userkey中包含的 用户凭据 可以验证当前的 凭据是否有效 你好,假如我刚登进系统,不小心关闭了浏览器,那么我是否要等待session超时之后才能再次登系统?这个分为两种情况,一种是同台电脑同个浏览器,监测到session存在,自动就登录了。另一种是你不小心关了,然后跑到另外一台电脑,或者同台电脑不同浏览器,这样监测不到session,但数据库其实还是在线状态。这时候就有时差了。这个是没有办法的事情。你唯一要做的,就是修改好定时刷新时间,比如改为1分钟监测一次或者30秒监测异地,这个时间就合适一些了.这样频繁地监测,对服务器要求较高,但是还是可行的。 多谢你的回复,现在我通过数据库和设置小一些的session时间来暂时解决(没找到更合适的方法) 多谢你的回复,现在我通过数据库和设置小一些的session时间来暂时解决(没找到更合适的方法) 你好,假如我刚登进系统,不小心关闭了浏览器,那么我是否要等待session超时之后才能再次登系统?这个分为两种情况,一种是同台电脑同个浏览器,监测到session存在,自动就登录了。另一种是你不小心关了,然后跑到另外一台电脑,或者同台电脑不同浏览器,这样监测不到session,但数据库其实还是在线状态。这时候就有时差了。这个是没有办法的事情。你唯一要做的,就是修改好定时刷新时间,比如改为1分钟监测一次或者30秒监测异地,这个时间就合适一些了.这样频繁地监测,对服务器要求较高,但是还是可行的。多谢你的回复,现在我通过数据库和设置小一些的session时间来暂时解决(没找到更合适的方法)你头像蛮好看的,:-) 怎样重复运行上一次的函数 服务端可否通过js取得客服端浏览器的窗口大小和位置? 请教:在覆盖掉已经绑定了监听事件的元素后,原来的监听事件去哪了? 图片不能动? 请问各位老大关于引用外部 .js文件的问题,先谢谢了 关于JS中处理数字问题 求帮助一下JS翻页问题 有关自动刷新页面的问题......... 如何获得页面数据? 帮忙看一下我这样写为什么不对? 请教使用JavaScript DOM动态创建(声明)Object元素,无法自动下载该元素中ocx控件 怎么获得动态加载的textarea的值
http://bbs.csdn.net/topics/350109096
问的是php,我不会。
但是会java的,说不定给能你点思路!
你说的其实是单点登录!java可以用静态map实现
1、所有在线用户存入静态map中,用户名作为key,操作时间作为value
2、过滤器中刷新静态map,更新用户的操作时间
3、后台起个定时器,每秒(自己配)扫描map,根据map中的时间与当前时间做判断,超过阈值(自己配或session失效时间),就可以认为该用户已经断开了,从map中移除该用户
4、页面的判断就很简单,登录时,检查该用户在map中是否存在,否 ? 登录 : 提示已登录
因为一个用户进入网站后,肯定会不定时刷新页面,每次有交互都更新最后活动时间。这样就可以不管你非法不非法退出,哪怕你登陆了长时不操作也会强迫退出,跟session超时一样原理。
这个思路之前也考虑过,假如session的超时时间我设置为10分钟,那么最坏的情况下可能需要等待10分钟才能登陆系统...
你好,假如我刚登进系统,不小心关闭了浏览器,那么我是否要等待session超时之后才能再次登系统?
细问一下,最后一个登陆后,怎么是之前的失效?重新设置session?
通过这个凭据 你可以获取相关的访问者的 信息(包括身份信息)(这个凭据基本是在类似session的方式中实现的 这个不是重点)那么
假定 用户访问的时候 凭据 映射 用户信息
现在禁止多点同时登录 要另外 在加一个映射 用户信息 包含当前 有效凭据
登录: 初始化新的凭据 映射用户信息 用户信息 映射当前新的凭据
访问 :一个凭据 映射的 用户信息 中包含的 有效凭据 不等于 这个凭据 那么 证明 这个用户 已经被 从其他位置踢出去了差不多这个概念
包含 当前最新的凭据
}
userkey 是唯一的 通过userkey 可以获取用户信息
同一个用户的用户凭据可以有无数(每次登录产生一个) 指向该用户唯一的 userkey但是 userkey中包含的 用户凭据 可以验证当前的 凭据是否有效
你好,假如我刚登进系统,不小心关闭了浏览器,那么我是否要等待session超时之后才能再次登系统?这个分为两种情况,一种是同台电脑同个浏览器,监测到session存在,自动就登录了。另一种是你不小心关了,然后跑到另外一台电脑,或者同台电脑不同浏览器,这样监测不到session,但数据库其实还是在线状态。这时候就有时差了。这个是没有办法的事情。你唯一要做的,就是修改好定时刷新时间,比如改为1分钟监测一次或者30秒监测异地,这个时间就合适一些了.这样频繁地监测,对服务器要求较高,但是还是可行的。
多谢你的回复,现在我通过数据库和设置小一些的session时间来暂时解决(没找到更合适的方法)
多谢你的回复,现在我通过数据库和设置小一些的session时间来暂时解决(没找到更合适的方法)
你好,假如我刚登进系统,不小心关闭了浏览器,那么我是否要等待session超时之后才能再次登系统?这个分为两种情况,一种是同台电脑同个浏览器,监测到session存在,自动就登录了。另一种是你不小心关了,然后跑到另外一台电脑,或者同台电脑不同浏览器,这样监测不到session,但数据库其实还是在线状态。这时候就有时差了。这个是没有办法的事情。你唯一要做的,就是修改好定时刷新时间,比如改为1分钟监测一次或者30秒监测异地,这个时间就合适一些了.这样频繁地监测,对服务器要求较高,但是还是可行的。多谢你的回复,现在我通过数据库和设置小一些的session时间来暂时解决(没找到更合适的方法)
你头像蛮好看的,:-)