美文网首页PHP开发技术
php有效防止同一用户多次登录

php有效防止同一用户多次登录

作者: 我_记忆中的自己 | 来源:发表于2018-07-30 11:30 被阅读44次

    文章来自:脚本之家

    http://www.jb51.net/article/75119.htm

    【问题描述】:同一用户在同一时间多次登录如果不能检测出来,是危险的。因为,你无法知道是否有其他用户在登录你的账户。如何禁止同一用户多次登录呢?

    【解决方案】

    (1) 每次登录,身份认证成功后,重新产生一个session_id。

    session_regenerate_id();

    session_register ("username") ;

    (2) 在用户数据库中开一个sessionid字段,重新产生session_id后,都更新该字段。

    $sessionid= session_id();

    $db= newPDO('sqlite:softToken.db');

    $sql= "update userinfo set sessionid ='$sessionid' where username='$username' and passwd='$passwd';";

    $query= $db->prepare($sql);

    $query->execute(); 

    (3) 建立一个session保存用户名

    $_SESSION["username"] = $username; 

    (4) 利用url重写,传递session_id

    $url = "main.php?sid=".session_id();

    unset($db);

    echo"登录成功,正在跳转!";

    header ("Location:$url"); 

    (5) 在需要跳转的页面,起始处加入

    main.php

    相关文章

      网友评论

        本文标题:php有效防止同一用户多次登录

        本文链接:https://www.haomeiwen.com/subject/vunxvftx.html