php防止用户重复登录 

php防止用户重复登录 

先来理解一下session的几个设置:

ini_set('session.auto_start',0);

设置关闭session的自动启动

ini_set('session.cookie_lifetime',0);

设置session在浏览器关闭时失效,session默认情况下是这样子的,无需在设置

ini_set('session.gc_maxlifetime',3600);

设置session在浏览器未关闭时的持续存活时间

大概知道上面的几个设置,那么我们开始理解下今天的内容啦。每当一个用户登一个账号时候,他打开浏览器就会自动生成一个session_id(有效时间内是唯一的),然后我们把这个唯一的id存入到user表的去(每登录一次就更新一次当前账号user表中的session_id的值)。这样,在登录后的所有界面都需要判断,当前浏览器的session_id()与数据库的user表的session_id是否一致,如果不一致,则显示当前账号已在线,你需要再次登录再可以顶掉他的登录。(就是每一次只能一个用户登录,后面登录的用户会挤掉前面登录该账号的用户)

详细,我们看下代码吧:(其他无关本次推文代码的代码,我就不细说啦)

第一个框:获得当前打开浏览器session的id,为下面插入、更新数据库里唯一的session_id做准备

第二个框:判断,数据库里的session_id与当前session_id是否相等,若不相等,则更新当前数据库里的session_id,若相等,直接返回3到前端ajax

在index.php界面下,这个框,表示判断当前session_id()与数据库的session_id是否相等,如果不相等,则表示当前账号已经有登录,且session_id不相等,需要跳转重新登录。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值