php实现用户和管理员登录(Php如何限制用户重复登陆)

2025-03-01 17:40:02 0

php实现用户和管理员登录(Php如何限制用户重复登陆)

本文目录

Php如何限制用户重复登陆

您说的是不同的设备,用一个账号同时登陆吧,也就是您只允许一个账号登陆。

分两步解决:

1:在用户表保存一个标识,用户没登陆的时候标识为0,登陆标识为1;如果有其他设备登陆进来,先判断如果标识为1,表示已经登陆,不能再登陆。或者替换先前的登陆,即把以前的登陆挤下去。但这样会有一个问题,如果用户非正常退出,则会导致混乱,所以还要进行第二部。

2:用户表加时间戳,用户登陆后获取服务器的时间戳,用户的每一次操作都变更时间戳,如果用户非正常退出,先判断时间戳,假如设定用户30分钟没操作就退出,那么时间戳大于30分钟,判断用户自动下线。

php利用session如何实现单ip登陆限制

我们知道,Session和Cookie配合起来使用可用来实现会话跟踪与控制。在一些场景下可能需要做单IP限制登录,很多开发者可能就会想到用Session会话来实现,但是不能单独靠Session来实现单IP限制登录。

第一步:单IP登录限制需要基于会话控制

这个很好理解,既然有登录,那就离不开会话控制技术(Cookie+Session),当用户成功登录后,我们需要获取到用户的IP,同时标记会话状态,这样此用户后续的请求都会归属于此会话中。

第二步:用户登录后要将用户IP存储起来

基于第一步,当用户登录成功后,就需要获取用户的真实IP,然后存储起来。常见的存储方式有:缓存文件、数据库、文件。考虑到性能,我们建议可以将用户的真实IP存储到Redis这类NoSQL中。

具体思路是:用户登录成功后 =》获取用户真实IP =》从数据库中找到当前登录用户的唯一ID值 =》将用户唯一UID做为Redis的Key存储,其Value则为此用户的IP。

第三步:每次登录与登出都要更新对应的Redis Key对应的值

上面2步做好后,然后需要对登录与登出逻辑做处理了,具体规则如下:

1、每次登录成功后

每次登录操作时,验证用户名及密码正确后需要查看此用户的UID对应的Redis Value值(如果Cookie+Session状态都存在也需要判断Redis中是否有值),如果Redis中有值,则代表此用户之前登录过,再进一步判断用户当前的IP是否和上次登录的IP一致,如果不一致则代表用户在多处登录了,再根据业务做进一步处理。

2、登出操作

当用户登出时,同样需要对Redis中的记录做同步删除操作。

php实现用户和管理员登录(Php如何限制用户重复登陆)

本文编辑:admin

更多文章:


forehead怎么读(forehead怎么读)

forehead怎么读(forehead怎么读)

本文目录forehead怎么读啊哦额怎么念啊forehead怎么读forehead 基本翻译n. 额,前额网络释义forehead:额头|前额|超前工祖high forehead:突前额forehead mirror:额反光镜啊哦额怎么念啊

2025年3月27日 04:20

手机上怎么下载flash插件(安卓手机怎么安装Adobe Flash Player插件)

手机上怎么下载flash插件(安卓手机怎么安装Adobe Flash Player插件)

本文目录安卓手机怎么安装Adobe Flash Player插件苹果手机flash插件怎样安装安卓手机怎么安装Adobe Flash Player插件安卓手机安装Flash步骤:1.下载最新版本的Adobe Flash Player的APP

2025年3月10日 20:40

sql语句学习(不会写复杂的SQL,该怎么学习)

sql语句学习(不会写复杂的SQL,该怎么学习)

本文目录不会写复杂的SQL,该怎么学习学习sql语言,应该如何快速提升自己写语句的能力不会写复杂的SQL,该怎么学习脑子中要有问题的解决思路(和SQL无关的),然后用SQL表达出来。了解SQL语句各个语法的含义、应用场景 select 表示

2025年4月1日 07:40

generate的用法(各位大神,求助一下,关于generate的用法)

generate的用法(各位大神,求助一下,关于generate的用法)

本文目录各位大神,求助一下,关于generate的用法make from 和make of 的区别generate 是什么意思各位大神,求助一下,关于generate的用法generate英  vt.形成,造成;产生物理反应;产生(后代)

2025年2月27日 23:50

smarty现在还有人用吗(现在还有人用锤子手机吗)

smarty现在还有人用吗(现在还有人用锤子手机吗)

本文目录现在还有人用锤子手机吗现在还有人用五笔输入法吗感觉五笔确实比拼音好用啊,90后00后还有人用吗现在还有人用锤子手机吗只有用过坚果手机(Smartisan os)才知道体验有多好,漂亮耐看的拟物化UI,几乎完美的系统字体,大爆炸,一步

2025年4月5日 02:20

android recyclerview(android recyclerview到底提示)

android recyclerview(android recyclerview到底提示)

本文目录android recyclerview到底提示android recyclerview判断左右滑动如何获取Android RecyclerView滑动的距离android recyclerview有多种类型android recy

2025年2月10日 13:00

image是什么意思英语(英语中,lmage是什么意思)

image是什么意思英语(英语中,lmage是什么意思)

本文目录英语中,lmage是什么意思英语中的image和imagery的区别电脑里面image是什么意思,具体一点英语picture和image作为想象区别是什么image ;incredibly;peculiar 这英语怎么读image

2025年3月27日 16:00

received是什么意思中文(翻译received)

received是什么意思中文(翻译received)

本文目录翻译receivedreceived中文是什么意思received干什么的Received中文是什么意思英语Received什么意思翻译received不同语种的翻译中,一个单词不止一个意思,要看上下文。received 的常用意思

2025年2月21日 00:40

编程培训班学费(python培训班学费一般多少)

编程培训班学费(python培训班学费一般多少)

本文目录python培训班学费一般多少给孩子报个编程班,一般收费情况怎么样python培训班学费一般多少python培训费用相对来说较高,在培训机构学习python一般是需要一万元到两万元的学费,学习时间大概是4-5个月左右。但是学完pyt

2025年2月23日 12:10

源码精灵永久兑换码(源码精灵怎么获得星光源码蛋)

源码精灵永久兑换码(源码精灵怎么获得星光源码蛋)

本文目录源码精灵怎么获得星光源码蛋找个能把按键精灵源码转换成易语言源码的大神!求按键精灵源代码:随循环次数累加按键次数,即第一次循环按Down五次,第二次循环按Down十次,依此类怎么获得编程猫源码精灵兑换码按键精灵远程替换已经制作的小精灵

2025年4月5日 02:40

仓库管理系统有哪些(仓库管理员常用的软件有哪些呢)

仓库管理系统有哪些(仓库管理员常用的软件有哪些呢)

本文目录仓库管理员常用的软件有哪些呢常用的仓库管理系统有哪些,专业一点的有哪些免费的仓库管理软件推荐,简单一些的什么是仓库管理系统,都有哪些功能仓库管理员常用的软件有哪些呢WMS是仓库管理系统(Warehouse Management Sy

2025年3月23日 16:20

什么是类 什么是对象 类和对象的区别是什么 如何定义一个类、类?类和对象的区别和关系是什么

什么是类 什么是对象 类和对象的区别是什么 如何定义一个类、类?类和对象的区别和关系是什么

本文目录什么是类 什么是对象 类和对象的区别是什么 如何定义一个类、类类和对象的区别和关系是什么逻辑运算符两侧运算对象的数据类型是什么类字怎么写什么是类类与对象的区别是什么编程中的类是什么java中什么是类类的定义什么是类 什么是对象 类和

2025年3月19日 15:00

vigorously是什么意思(vortexed vigorously什么意思)

vigorously是什么意思(vortexed vigorously什么意思)

本文目录vortexed vigorously什么意思Vigorously shake是什么意思vortexed vigorously什么意思vortex 1.(指水或风形成的)涡流;漩涡;低涡 2.感情(或力量、局势

2025年4月4日 00:20

怎么做小程序(做小程序怎么自学)

怎么做小程序(做小程序怎么自学)

本文目录做小程序怎么自学如何快速制作小程序做小程序怎么自学小程序自学的道路是可行的,本人亲身经历。2年前,小程序公测开始,我就对小程序这个新的东西非常感兴趣,无奈不会编程,不是程序猿。身边也没有人做小程序,只有靠自己摸索。两年下来,也算半个

2025年3月22日 15:20

gateone旗舰店(Blackgateone是一个怎样的品牌)

gateone旗舰店(Blackgateone是一个怎样的品牌)

本文目录Blackgateone是一个怎样的品牌blvckgateone是什么牌子,知名度怎么样Blackgateone是一个怎样的品牌GATEONE是法国历史悠久的时尚休闲品牌,1975,著名服装设计师Vitas在法国建立了第一家休闲装手

2025年2月16日 10:30

license怎么授权(怎样实现java web应用系统授权license功能)

license怎么授权(怎样实现java web应用系统授权license功能)

本文目录怎样实现java web应用系统授权license功能winnonlin的license怎么获取在linux命令中,怎么根据授权提示码生产授权文件license如何获取ARM DS-5旗舰版64位架构30天试用授权license许可

2025年2月18日 12:20

网页制作基础教程答案(几道网页制作的基础题,轻松获得50分不要错过啊!)

网页制作基础教程答案(几道网页制作的基础题,轻松获得50分不要错过啊!)

本文目录几道网页制作的基础题,轻松获得50分不要错过啊!网页制作基础教程的目录《网页设计与制作基础》第八章 练习题答案,,急急,,,网页设计基础教程网页设计的入门教程求答案Dreamweaver CS6网页制作基础网页制作基础教程的内容简介

2025年3月25日 06:20

settimeoutinterval(settimeout和setinterval)

settimeoutinterval(settimeout和setinterval)

本文目录settimeout和setinterval如何使用定时器settimeout,setInterval执行能传递参数的函数settimeout和setinterval的区别请简述一下settimeout和setinterval的区别

2025年3月28日 11:30

simplicity是什么意思(请问simplicity翻中文是什么意思)

simplicity是什么意思(请问simplicity翻中文是什么意思)

本文目录请问simplicity翻中文是什么意思simplicity有什么引申意simplicity is the ultimate sophistication怎么解释simplicity是什么意思请问simplicity翻中文是什么意思

2025年3月22日 13:20

exit setup是什么意思(电脑上出现:discard.changes.and.exit.setup.是什么意思)

exit setup是什么意思(电脑上出现:discard.changes.and.exit.setup.是什么意思)

本文目录电脑上出现:discard.changes.and.exit.setup.是什么意思Discardchangesandexitsetup电脑上突然出现discard.changes.and.exit.setup.这是什么意思电脑开机

2025年2月20日 13:00

近期文章

本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:18
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索