Array("pass" => "qwerty", "id" => 1, "name" => "Виктор"), "dimon"=> Array("pass" => "qwerty", "id" => 2, "name" => "Димон"), "olga"=> Array("pass" => "qwerty", "id" => 3, "name" => "Оля"), "kate"=> Array("pass" => "qwerty", "id" => 4, "name" => "Катя"), "masha"=> Array("pass" => "qwerty", "id" => 5, "name" => "Маша"), ); // Список соответсвия имени к id пользователя $usersPublicData = Array( 1 => "Виктор", 2 => "Димон", 3 => "Оля", 4 => "Катя", 5 => "Маша", ); // Включаем php ссесию session_start(); /** * Выполняем авторизацию на комет сервере * Второй параметр это ваш публичный идентификатор разработчика * Третий параметр это ваш секретный ключ разработчика */ $comet = mysqli_connect("app.comet-server.ru", "15", "lPXBFPqNg3f661JcegBY0N0dPXqUBdHXqj2cHf04PZgLHxT6z55e20ozojvMRvB8", "CometQL_v1"); // Если получаем команду уничтожить ссесию if( isset($_GET["exit"])) { echo "Вы покинули php чат. Перейти к форме авторизации в чате"; if(isset($_SESSION["userName"])) { // Оповещаем всех что человек покинул чат mysqli_query($comet, "INSERT INTO pipes_messages (name, event, message)VALUES('loginPipe', 'userExit', '".mysqli_real_escape_string($comet,json_encode(Array( "name" => $_SESSION["userName"] )))."')"); } session_destroy(); exit; } // Если получили переменные login и pass то выполним авторизацию if( isset($_GET["login"]) && isset($_GET["pass"])) { if( !isset($users[$_GET["login"]])) { echo "В базе нет такого пользователя"; header("Location: /"); exit; } if( $users[$_GET["login"]]["pass"] !== $_GET["pass"] ) { echo "Пароль не верный"; header("Location: /"); exit; } // Оповещаем всех, что залогинился человек и теперь онлайн в чате mysqli_query($comet, "INSERT INTO pipes_messages (name, event, message)VALUES('loginPipe', 'userLogin', '".mysqli_real_escape_string($comet,json_encode(Array( "name" => $users[$_GET["login"]]["name"])))."')"); // Генерируем ключ авторизации для пользователя на комет сервере. Длиной не более 32 символов. $userCometHash = md5("Соль для хеша ".date("U")); // Сообщаем ключ авторизации комет серверу. mysqli_query($comet, "INSERT INTO users_auth (id, hash)VALUES (".$users[(int)$_GET["login"]]["id"].", '".mysqli_real_escape_string($comet, $userCometHash)."')"); echo "
"; echo $userCometHash."\n"; echo ""; // Добавляем в сессию данные о пользователе $_SESSION["userHash"] = $userCometHash; $_SESSION["userId"] = $users[$_GET["login"]]["id"]; $_SESSION["userLogin"] = $_GET["login"]; $_SESSION["userName"] = $users[$_GET["login"]]["name"]; echo "Авторизация прошла успешно. Перейти к чату"; exit; } ?>