登录验证-会话ID

一、什么是会话ID

    会话ID也可以看做是Token或身份令牌,是对游戏逻辑服务器而言的玩家登录凭证,在所有的游戏业务逻辑接口的使用中,都需要先验证玩家的登录状态,再开展业务。

二、生成会话ID

    我的会话ID是MD5加密: 1-99随机数+分隔符+用户ID+服务器key后的16位密文,我们用玩家ID作为Key,会话ID为Value,存储在游戏逻辑Redis数据库(游戏服有三类Redis数据库,用于存储不同场景的数据,后续会讲到)。

    例如:玩家ID是1、通过pp平台登录的加密方式md5('20-1pp')

三、存储会话ID

    当玩家登录游戏服成功后,我们需要将会话ID和用户ID进行AES加密并写入客户端cookie,以便于在解析来的业务中使用。

三、会话ID的使用

    在玩家业务请求时,客户端始终携带AES加密后的身份信息,服务器先解密获得会话ID和用户ID,再去数据库通过用户ID查询会话ID做验证,判断玩家是未登录还是被踢下线。

四、验证加强

    以上方式只能解决简单的唯一登录验证,还有一种情况是,玩家可以在多个设备上伪造加密后的身份信息,从而跳过唯一登录验证,这时候我们可以加强验证方式,为用户存储登录IP、设备mac地址、Imei地址、登录时间戳等信息,在之后的业务使用中,对这些信息做一一校验,从而确保玩家无法伪造身份多设备登录。

  

转载于:https://my.oschina.net/u/2488726/blog/700227

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值