很多站长朋友们都不太清楚php锁定设备登录,今天小编就来给大家整理php锁定设备登录,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP代码 设置用户登陆限制,3次错误锁定账户5分钟 2、 使用php写,用户连续登录5次密码错误,会被锁定,24小时后会被解锁,怎么写啊 3、 问一个关于php登录的问题 4、 代码PHP 设置用户登陆限制,3次错误锁定账户5分钟 PHP代码 设置用户登陆限制,3次错误锁定账户5分钟$_SESSION['num'] += 1; if($_SESSION['num'] >= 3){此处操作数据库 帐号状态改为锁定 并记录当前锁定时间。
if($_SESSION[$ip] < 3){
if(isset($_POST['password']) $_POST['password'] == '123456'){
$_SESSION['ok'] = 1;
$_SESSION[$ip] = 0;//登录成功,IP登录次数归零
header('location:?');}
if(!isset($_SESSION['ok'])){
$_SESSION[$ip] = $_SESSION[$ip] + 1;//累积登录错误次数 exit('<form method="post">
password:<input type="password" name="password" /><input type="submit" value="login" />
</form');}
// cookie保存时间,分钟
$lifeTime = 1800;
setcookie(session_name(), session_id(), time() + $lifeTime, "/"); }
else
{echo '你已经输错3次密码,请等5分钟再试试';}
//获取用户真实IP
function getIp(){ $onlineip='';
if(getenv('HTTP_CLIENT_IP')strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')){
$onlineip=getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR')strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknown')){
$onlineip=getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR')strcasecmp(getenv('REMOTE_ADDR'),'unknown')){
$onlineip=getenv('REMOTE_ADDR'); elseif(isset($_SERVER['REMOTE_ADDR'])$_SERVER['REMOTE_ADDR']strcasecmp($_SERVER['REMOTE_ADDR'],'unknown')){ $onlineip=$_SERVER['REMOTE_ADDR']; } return $onlineip;
} ?>通过SESSION和cookie可以简单的就实现了。
使用php写,用户连续登录5次密码错误,会被锁定,24小时后会被解锁,怎么写啊给你描述下逻辑把
user表,增加两个字段
第一个叫errorlogin_time,默认为空,记录禁止登陆开始时间
第二个叫error_count,记录目前错误次数
每次输入密码,检查errorlogin_time,若为空,则进行密码校验--A;
若errorlogin_time不为空,检查记录时间与目前时间相差多久,若大于24小时,则清空errorlogin_time和error_count字段,进行密码校验--A。若小于24小时,则直接提示密码锁定,禁止登陆,结束程序。
备注A处:若密码正确,予以登陆,清空errorlogin_time和error_count字段,分配session。
若密码错误,同时error_count小于5,则error_count+1更新数据库。若error_count大于等于5,则error_count为5,errorlogin_time为当前时间,同时提示禁止登陆,程序结束。
问一个关于php登录的问题是要先验证一下是否存在此用户吧
可以在数据库用户表设置一个字段isLogin(0为否,1为是 默认为1)
如果登录失败 给该用户名isLogin=0
然后发邮件进行邮箱验证
但是这个就要在登录时候验证isLogin是否为1
或者也可以直接再建一个session表 直接接收实时参数
(欢迎到56指派技术论坛进行交流学习)
代码PHP 设置用户登陆限制,3次错误锁定账户5分钟if (mysqli_num_rows($r) == 1){
$row = mysqli_fetch_array($r);
if (SHA1($psword) == $row['psword']){
session_start();
//set session variables
$_SESSION['uname'] = $uname;
$_SESSION['fname'] = $row['fname'];
setcookie('uname',$uname,time()+10);
setcookie('fname',$row['fname'],time()+10);
//check the role of user
if($row['role'] == 'Student'){
echo "<script>window.open('student.php', '_SELF')</script>";
exit();
}
else
header('LOACTION: admin.php');
}
else
echo "Incorrect password.";
}
else {
echo "Unknown username.";
}
}
关于php锁定设备登录的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。