PHP之深度剖析:网站唯一登录,踢人效果

数据库加个字段,如果用户已登入,那么会在用户表中的字段记录一下!用户登入时候判断这个字段是否存在!如果存在不允许登入,如果不存在,就允许写入 cookie 并且添加数据库。
一个用户登录的时候创建一个票据,放在memcached里面(存一个键值对,key值(账号)和内容),同时把这个票据作为cookie下发下去,这个用户在访问每个页面的时候都会提取cookie里面的票据和memached里面的票据比较。这时如果其他人用这个账号在异地登录的时候,这个账号就会在memached里面更新这个账号所对应的票据,这时先登录的那个人用自己cookie里面的票据和memcached里面的票据比较的时候就不一致了,这样就把先登录的那个人T出去。

1. Session :可以使用针对某一用户的唯一标识生成Session内容,但是不要用这个数据去当做登录凭据,因为固定的就会被盗用。

2.数据库存储Status: 退出可以清空,直接关闭浏览器可以使用onbeforeunload或者onunload事件,让页面在临死前跟数据库道个别。

3.Cookie不可用:因为这个不能防止用户在不同机器上多开。

4.登录后给客户端发送一个自定的序列码,用户与该码唯一对应,只存储一个这样的码,分两个状态:1'用户没登陆,数据库中也找不到对应的码;2'用户登录,将码生成,对应数据库,持有这个码的该用户才能登陆,如果这个码存在则不重新生成。 客户端或浏览器每隔一段时间像Server发送自己的身份唯一标识和这个码,如果一段时间没发,则数据库清空该码(这相当于自造Session也可用)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值