首页 >

php利用session如何实现单ip登陆限制? |php 反转义函数

php显示其他网页,thinkphp5 支付接口,php 替换最后一个字符串,php 游戏项目代码下载,php session id算法,php open myfile,php把url分解成数组,linux php 读取文件夹,php 反转义函数php利用session如何实现单ip登陆限制? |php 反转义函数

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

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

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

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

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

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

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

1、每次登录成功后

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

2、登出操作

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


php利用session如何实现单ip登陆限制? |php 反转义函数
  • PDF怎么在线转HTML? |html 版面分割
  • PDF怎么在线转HTML? |html 版面分割 | PDF怎么在线转HTML? |html 版面分割 ...

    php利用session如何实现单ip登陆限制? |php 反转义函数
  • 本人机械专业,想要自学编程,如何入门?有什么值得推荐的书? - 网络|
  • 本人机械专业,想要自学编程,如何入门?有什么值得推荐的书? - 网络| | 本人机械专业,想要自学编程,如何入门?有什么值得推荐的书? - 网络| ...

    php利用session如何实现单ip登陆限制? |php 反转义函数
  • 对于一个小型互联网公司做开发用php好还是java好?为什么? |php中alter()
  • 对于一个小型互联网公司做开发用php好还是java好?为什么? |php中alter() | 对于一个小型互联网公司做开发用php好还是java好?为什么? |php中alter() ...