哈希空间
PHP 教程
PHP 表单
PHP 数据库

php 如何禁止同一账号多处登录?

这个问题本质是要区分 每次登录后的不同,并记录下来。

每次登录时,生成一个随机字符串 clientId =md5(userId.microtime().rand().‘hashspace.cn’); 并返回给 客户端保存(可以存放在cookie中),后续请求接口时 需要带上 clientId 这个字符串。

服务器端在数据库或缓存中存储如下信息:

字段 类型 说明
userId int 用户id
clientId varchar(32) 随机字符串,区分每次登录

当服务器收到请求时 判断 客户端提交的 clientId 和 服务器端存储的clientId 是否一致。

如果不一致说明,账户已经在别的地方登录过了,客户端的clientId 不是最新的,这时候让用户重新登录即可。

同理,通过判断 clientId 也可以去支持账户的多端登录情况。去支持 比如 文件传输(手机和电脑),消息多端通知(手机和电脑都可以收到通知)等等业务场景。

本文 最佳观看地址:https://www.hashspace.cn/php-login-multi.html 阅读 292

PHP 教程
PHP 表单
PHP 数据库
打开 哈希空间 微信小程序中查看更佳