2009-11-23 3 views
0

Я использую PHP + MySQL.Как использовать одновременные пользователи с управлением PHP

Есть ли в любом случае я могу контролировать одновременного пользователя (1 пользователь с 1 ключом) для доступа к моей странице php? Не разрешить копировать ключ для доступа с другого компьютера на мой php, как справиться с этим через мои php-сессии/файлы cookie?

Любой совет будет оценен!

ответ

0

Уверенный, вы можете. Создайте сессионную таблицу и выполните проверку при входе в систему, когда пользователь попытается войти в систему. Когда есть зарегистрированный сеанс для этого пользователя, allready запрещает вход в систему.

Единственное, что вы должны иметь в виду, это очистка сеансов, когда вы устанавливаете время ожидания.

1

Вы можете использовать это решение.

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(); 
      } 
Смежные вопросы