PHP代码设置用户登陆限制怎么办?

 我来答
帐号已注销
2018-01-09 · TA获得超过2.3万个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:5.6万
展开全部

$_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可以简单的就实现了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式