如何使用PHP控制并发用户

如何使用PHP控制并发用户,php,cookies,session,Php,Cookies,Session,我正在使用PHP+MySQL 我是否可以控制并发用户(1个用户只有1个密钥)访问 我的php页面?不允许将密钥从不同的机器复制到我的php中,如何通过我的php会话/cookie处理 任何建议都将不胜感激 当然可以。当用户尝试登录时,创建会话表并对登录的用户执行检查。当该用户已注册会话时,allready拒绝登录 设置keepalive时间时,您必须记住的唯一一件事是会话清理。您可以尝试使用此解决方案 concurrent_users.php // created cookie with cre

我正在使用PHP+MySQL

我是否可以控制并发用户(1个用户只有1个密钥)访问 我的php页面?不允许将密钥从不同的机器复制到我的php中,如何通过我的php会话/cookie处理


任何建议都将不胜感激

当然可以。当用户尝试登录时,创建会话表并对登录的用户执行检查。当该用户已注册会话时,allready拒绝登录


设置keepalive时间时,您必须记住的唯一一件事是会话清理。

您可以尝试使用此解决方案

concurrent_users.php

// created cookie with createdSessionID
$cookie_array = explode("-", $_COOKIE['cookie']); //retrieve contents of cookie in an array
//print("cookie:" . $cookie_array[0]); //display the content

    //Retrieve data from TBL_LogUsersCurrent
    $QueryI = "SELECT * FROM TBL_LogUsersCurrent WHERE UserID=".$_SESSION['SessionUserID']."";    
    $ResultI = mysql_query($QueryI);

    //fetch the query result
    $Row = mysql_fetch_array($ResultI,MYSQL_NUM);
    $Arr_Row = $Row[4];
    //echo "database:" .$Arr_Row;

    //compare the createdSessionID in cookie and database
            if ($cookie_array[0] != $Arr_Row) {
                //redirect the user to login page if already the user has logged in
                header ("Location:  http://" . $_SERVER['HTTP_HOST'] . "/". $SystemFolder . "/index.html?AS=1$extraA");
                mysql_close();
                //Deleting Cookies:Expiration date should be in the past, to trigger the removal mechanism in the browser. 
                setcookie("cookie", $_SESSION['createdSessionID'],time() - 3600);
                exit();
            }