(这里主要是介绍 短连接 的情况下我是如何使用loginCode机制来验证用户登录的安全性的)
一、loginCode值的介绍
loginCode值也叫登录编码值,是我自己定义的一个具有唯一性的一个值,我是通过生成32位随机字符串来代替这个值。
二、loginCode的使用
1、用户登录成功后,服务器端生成一个loginCode值(这个值可以自己定义,但是要具有唯一性),服务器保存loginCode的同时将这个值返回给客户端。
2、客户端将服务器返回的loginCode值保存到沙盒作为一个公共参数传递。
3、客户端以后发送网络请求的时候,就将loginCode值附带到参数中发送给服务器。
4、服务器接收到客户的请求(除了注册登录之外的请求)后,把客户端loginCode值和保存在数据库中的loginCode值进行对比:a、如果两个值相同,说明用户处于登录状态并且在此设备登录后没有在其他设备登录过;b、如果两个值不相同,说明原来的登录认证失效,需要重新登录。
三、在客户端中的loginCode值何时失效
1、设置有效时间:可以根据APP的功能和类型在服务器适当的设置这个loginCode值的有效时间。
2、设置登录的唯一性:客户端每次调用登录接口并成功登录时,服务器都要重新生成一个loginCode并覆盖数据库中此账号原来对应的loginCode值,然后把这个loginCode值返回给此次登录的客户端,这样,原来的loginCode值就会失效。