加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP设置登陆限制

发布时间:2022-01-17 13:41:53 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要为大家详细介绍了PHP设置登陆限制 PHP登陆多少次错误锁定账户5分钟 IP密码错误超限封停,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。 在使用PHP开发网站登录程序的时候经常需要设置一个限制,某个I
  这篇文章主要为大家详细介绍了PHP设置登陆限制 PHP登陆多少次错误锁定账户5分钟 IP密码错误超限封停,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。
  在使用PHP开发网站登录程序的时候经常需要设置一个限制,某个IP的用户登陆超过一定限制,就锁定登陆多少分钟或者小时,也就是如果输入密码登陆出错达到一定次数就不让再尝试登陆,这样可以防止密码被暴力破解。
 
  现在先看看程序
 
  登录页面login.php
 
  <?phpsession_start();ini_set('session.gc_maxlifetime', 300); //设置SESSION过期时间$ip = getIp();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保存session_id用于跨页面传递读取sessin   $lifeTime = 1800;   setcookie(session_id, session_id(), time() + $lifeTime, "/");   }else{exit( '你已经输错3次密码,请等5分钟再试试');}//获取用户真实IPfunction 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; } ?>
  其他页面获取登陆状态,可以用
 
  <?php session_id($_COOKIE['session_id']);session_start();if ($_SESSION['ok'] != 1; ) { header("Location: login.php"); exit(); } ?>
  完成。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读