| |
|
|
| | Каким образом можно реализовать механизм авторизации пользователя, чтобы его акаунт блокировался на время его соединения, то есть чтобы с другого компа не могли зайти под его именем ? | |
| |
|
|
| |
|
|
| |
для: buka
(25.09.2006 в 19:07)
| | | Вы используете БД или файлы для регистрации?
Проверка йапишника происходит с помощью глобального массива $_SERVER['REMOTE_ADDR']. Если используете БД, то что-то вроде этого
mysql_query("UPDATE online SET
ip='".$_SERVER['REMOTE_ADDR']."' WHERE login ='".$_POST['login']."'");
|
А потом просто когда идёт соединение сравниваем АЙПИШНИКИ с помощью функции in_array();
<?
$sql= mysql_query("SELECT * FROM `users` WHERE login='$login' AND pass='$pass'");
$db= mysql_fetch_array($sql);
if(mysql_num_rows($db)>0)
{
// тут происходит проверка на то, какйо айпишник в таблице этого юзера и айпишник зашедшего
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: DEM
(25.09.2006 в 19:13)
| | | А как я узнаю что он вышел, а то потом он после пересоединения допустим получит другой адрес ай-пи и я его не пущу. Сессии использую | |
| |
|
|
| |
|
|
| |
для: buka
(25.09.2006 в 20:05)
| | | В форуме MySQL я это спрашивал, поищи... Ну а если пользователь нажимает кнопку выхода, то:
<?
$login=$_SESSION['login'];
$sql="DELETE FROM online WHERE login ='".$login."'";
?>
|
А кесли у вас пользователь онлайн когда например у него в таблице users в поле online стоит 1, а если в оффлайне 0, то
mysql_query("UPDATE users SET
online = '0'
WHERE login='".$_SESSION['login']."'");
|
| |
| |
|
|