//ini_set('session.cookie_lifetime', 0);//设置session在浏览器关闭时失效

//ini_set('session.gc_maxlifetime', 3600); //session在浏览器未关闭时的持续存活时间

//防止同一用户的重复登录

$server = '127.0.0.1';$username = 'root';$password = '';$conn = mysql_connect($server, $username, $password);$e = mysql_select_db('test',$conn);mysql_query("SET NAMES UTF8");//访问url,http://www.test.com/single_login.php?name=zx&pwd=zx

header("Content-type:text/html;charset=utf-8");$username =$_GET['name'];$password =$_GET['pwd'];//$ipdress = $_SERVER['REMOTE_ADDR'];

//

//$login_time = time();//登陆时间更新

//

//$session_id = session_id();

//

//$_SESSION['name']=$_GET['name'];

//var_dump($session_id);

//$sql = "INSERT INTO tongji VALUES ('NULL','$data_id','$time','$ipdress','$session_id')";

//$result =mysql_query($sql);

$sql = "select * from slogin where username = '$username' and password = '$password'";//var_dump($sql);

$result =mysql_query($sql);$s = mysql_fetch_array($result);//权限验证的时候一定要判断数据库写入session_id是不是和$_session里面的session_id是不是一致,如果不一致就退出,这个防止同一个账户被多个人同时登陆的实现方法就是基于这个session_id

//一定要设置session的存活时间,和session关掉页面就session消除

//如果有其他人登陆的时候,会写入新的session_id,这样旧的用户就会被权限验证不通过,但是不能做到实时效果,这样就挤掉了旧用户,这里有个缺陷,就是每次验证权限的时候就需要查询数据库,如果可以吧这个数据放在redis就比较好

//其实其他的验证方法,也类似使用这种方法,有个验证的凭证,只不过这种方法需要查询数据库,但是放在redis之后就比较好

//或者统一管理session的时候,比如放在数据库就更好了,记住吧session_id也存入数据库,或者放在memcash,redis就比较方便,比如在redis进行管理的时候,就可以直接更新掉存在session_id

if($s){//var_dump($s);

// echo '
';

// echo session_id();

if($s['session_id'] === session_id()){//unset($s['session_id']);

} else{$ipdress = $_SERVER['REMOTE_ADDR'];$login_time = time();$session_id = session_id();//重新赋予一个session_id

$sql = "update slogin set ip = '$ipdress',login_time= '$login_time',session_id = '$session_id'";$result1 =mysql_query($sql);//$ss = mysql_fetch_array($result);

if($result1){echo 'OK';

}else{echo 'F';

}

}

}else{echo 'FFFFFFFFFFFFFFFFFFFFFFF';

}

php用户注册重复_php实现单个用户禁止重复登录,防止同一用户同时登陆相关推荐

  1. php实现单个用户禁止重复登录,防止同一用户同时登陆

    <?php session_start(); //ini_set('session.auto_start', 0); //关闭session自动启动 //ini_set('session.coo ...

  2. linux用户双重认证登录,linux PAM 用户登录认证

    PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制.它通过提供一些动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统 ...

  3. linux设置用户和群主,Linux的用户和组群管理

    Linux是一个多用户的操作系统用户和用户组的管理是系统管理员的重要工作之一本文的内容包括如何利用图形化工具rfuser和在命令行界面下完成用户账号工作组的建立和维护并正确设置用户权限和安全性问题 利 ...

  4. mysql和oracle用户管理_五种Oracle用户的授权与管理

    创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用 创建和删除用户是Oracle用户管理中的常见操作,但这其中隐 ...

  5. 切换用户_Mac如何在多个用户间快速切换?

    很多小伙伴在使用Mac的时候,都会设置多个用户,不同的用户可以设置不同的桌面,作用于不同的场景.切换用户的方法,大家都知道的就是注销.然而有的时候我们需要频繁的在多个用户之间进行切换,如果每次都要先注 ...

  6. Linux服务器配置root用户ssh远程登录

    Linux服务器配置root用户ssh远程登录   开启root用户使用密码远程登录,使用xshell连接远程服务器. 1. 安装 openssh-server 查看是否安装 yum list ins ...

  7. php用户注册重复_php如何禁止重复注册用户名

    php禁止重复注册用户名的方法:首先在创建数据库表的时候,对用户昵称设置字段唯一性:2.用前端传入的昵称作为查询条件查询数据库,看是否能查询出结果,如果可以的话就说明有重复了. php禁止重复注册用户 ...

  8. php注册阻止相同用户名,php如何禁止重复注册用户名

    php禁止重复注册用户名的方法:首先在创建数据库表的时候,对用户昵称设置字段唯一性:2.用前端传入的昵称作为查询条件查询数据库,看是否能查询出结果,如果可以的话就说明有重复了. php禁止重复注册用户 ...

  9. php防止用户名重复注册,php禁止重复注册用户名的方法

    php禁止重复注册用户名的方法 发布时间:2020-08-18 09:49:47 来源:亿速云 阅读:98 作者:小新 这篇文章将为大家详细讲解有关php禁止重复注册用户名的方法,小编觉得挺实用的,因 ...

  10. linux下拒绝用户登录,Linux系统用户管理之禁止用户登录

    一.问题描述 今天在CentOS上切换用户的时候提示This account is currently not available su elasticsearch This account is c ...

最新文章

  1. 华为某员工欲离职,看到年终奖后犹豫了:再干一年吧!
  2. centos普通用户设置sudo权限
  3. ABAP高级顾问应该掌握的技术
  4. Linux下使用crontab命令以及Python脚本实现自动签到
  5. 中反应器体积_实验室规模半连续和连续生物反应器在微生物学和生物技术工艺中的作用...
  6. MySQL8的8大新SQL特性
  7. python中encode()函数的用法
  8. 华为鸿蒙科技创新,华为、美的合作:搭载鸿蒙系统的家电来了 三大亮点
  9. 新装好SQL2005时SA无法登陆的解决办法
  10. mysql truncate耗时_线上MySQL 32G大小的表truncate所消耗的时间为2分钟,快还是慢?...
  11. 五子课堂---第一课(连珠基础一)
  12. 阿里云ACE认证学习知识点梳理
  13. 【合金装备xp热门主题】
  14. linux mint借用deepin-wine安装QQ/微信
  15. 深度相机:结构光、TOF、双目相机
  16. windows系统的备份和还原
  17. 【阅读文献】单目视觉SLAM方法综述【1】~单目视觉SLAM分类方法
  18. html桌面壁纸教程,Photoshop设计简易版的电脑桌面壁纸教程
  19. cleanmymac废纸篓垃圾桶模块主要功能介绍
  20. 常见的嵌入式操作系统有哪些

热门文章

  1. zookeeper运维
  2. mysql 开发进阶篇系列 13 锁问题(关于表锁,死锁示例,锁等待设置)
  3. WPF如何得到一个在用户控件内部的元素的坐标位置
  4. 2020年商用的5G,中兴通讯已经下了哪些先手棋?
  5. oracle rac的特征
  6. JVM中也有并发GC,CMS机制
  7. Android - Android Studio 自动(auto)添加import 语句
  8. CNN for image retrieval
  9. poj 1328 贪心+qsort
  10. 绑定touch事件后click无效,vue项目解决棒法