span style="color: #0000BB"><?php$db = mysql_connect('localhost', 'root', ''); mysql_select_db('tsb', $db); mysql_set_charset('utf8', $db);//типа авторизовался...if(isset($_GET['auth'])) { Session_Start(); //Когда логин и пароль подошли, из базы достаем... $_SESSION['id'] = 1; //пока просто для теста. $_SESSION['team'] = 1; //пока просто для теста. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; ///// mysql_query("UPDATE `users` SET `ip`='".$_SERVER['REMOTE_ADDR']."', `remember`=1 WHERE `id`=1 LIMIT 1;", $db); //типа нажал запомнить //у меня там в говнокоде заносится и ip и browser SetCookie('REMEMBER', 1, $_SERVER['REQUEST_TIME'] + 86400, '/'); //типа нажал запомнить header('Location: http://'.$_SERVER['HTTP_HOST']); exit; }//в шляпе... не кролик...if(isset($_COOKIE['PHPSESSID'])) { Session_Start(); if(isset($_COOKIE['REMEMBER']) AND $_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) { $query = mysql_query("SELECT `id`, `team` FROM `users` WHERE `ip`='".$_SERVER['REMOTE_ADDR']."' AND `remember`=1 LIMIT 1;", $db); //если типа нажал запомнить if(mysql_num_rows($query)) { //не надо начинать старые сессии, ну ладно не будем... //Удаляем старую сессию. Можно и оставить, сервер удалит... Session_Destroy(); //Удаляем её ключ unset($_COOKIE['PHPSESSID']); //Стартуем новую сессию Session_Start(); $array = mysql_fetch_array($query, MYSQL_ASSOC); $_SESSION['id'] = $array['id']; //Из базы будет извлекаться... $_SESSION['team'] = $array['team']; //Из базы будет извлекаться... $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; header('Location: http://'.$_SERVER['HTTP_HOST']); exit; } else { //переадресация на страницу авторизации. } } else { //переадресация на страницу авторизации. } }?> |
span style="color: #0000BB"><?phpunset($_COOKIE['PHPSESSID']);?> |
span style="color: #0000BB"><?php$db = mysql_connect('localhost', 'root', ''); mysql_select_db('tsb', $db); mysql_set_charset('utf8', $db);//типа авторизовался...if(isset($_GET['auth'])) { session_start(); $_SESSION['id'] = 1; //пока просто для теста. $_SESSION['team'] = 1; //пока просто для теста. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; ///// mysql_query("UPDATE `users` SET `remember`=1 WHERE `id`=1 LIMIT 1;", $db); SetCookie('REMEMBER', 1, $_SERVER['REQUEST_TIME'] + 86400, '/'); header('Location: http://'.$_SERVER['HTTP_HOST']); exit; }if(isset($_COOKIE['PHPSESSID'])) { session_start(); if(isset($_COOKIE['REMEMBER']) && $_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) { $query = mysql_query("SELECT `id`, `team` FROM `users` WHERE `ip`='".$_SERVER['REMOTE_ADDR']."' AND `remember`=1 LIMIT 1;", $db); if(mysql_num_rows($query)) { $_SESSION = null; //чистим, чтоб потом чистый файл был :) session_regenerate_id(true); //ну тут собстЭнна я и упал с велосипеда... $array = mysql_fetch_array($query, MYSQL_ASSOC); $_SESSION['id'] = $array['id']; //Из базы будет извлекаться... $_SESSION['team'] = $array['team']; //Из базы будет извлекаться... $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; header('Location: http://'.$_SERVER['HTTP_HOST']); exit; } else { //session_destroy(); - надо или нет пока не знаю... //переадресация на страницу авторизации. } } elseif(!isset($_COOKIE['REMEMBER']) && $_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) { //session_destroy(); - надо или нет пока не знаю... //переадресация на страницу авторизации. } //или просто продолжаем, если все нормально. }?> |