Вторник, 12 Ноября 2024, 23:12

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите, пожалуйста
KeiLe491Дата: Воскресенье, 11 Января 2015, 23:52 | Сообщение # 1
был не раз
Сейчас нет на сайте
Всем привет. Собрался создать лаунчер на подобии стим. Уже придумал вид и т.д. Вообще, есть вопрос. Как сделать чтобы пользователь ззарегайся на сайт мог авторизироваться в лаунчер? Только развернуто, пожалуйста.
BlusДата: Понедельник, 12 Января 2015, 15:48 | Сообщение # 2
участник
Сейчас нет на сайте
Развернуто врятли получится, но попробую.
Посколько доступ к базе данных открывать из Интернета не желательно, т. к. бреш в безопасности при взломе лаунчера.
Нужен клиент и сервер.
как их создать?
Например использую библиотеку boost читай здесь http://habrahabr.ru/post/192284/, если вы пишете на C++
А можно сделать пользователя с правами только на чтение и пусть клиент авторизируется через этот аккаунт.
Для работы с mysql базой используют MysqlConnector.
Это в общем а если подробнее там нужно знакомится с архитектурой вашей БД.

Скачать mysqlconnector http://www.mysql.com/products/connector/
KeiLe491Дата: Понедельник, 12 Января 2015, 20:57 | Сообщение # 3
был не раз
Сейчас нет на сайте
Blus, Спасибо, буду пробовать smile
AlexSmirnoffДата: Четверг, 15 Января 2015, 17:21 | Сообщение # 4
был не раз
Сейчас нет на сайте
KeiLe491, нужно на сервер отправлять GET\POST-запрос с зашифрованным логином-паролем аккаунта.
Серверный скрипт, в котором задан ключ расшифровки, сравнивает данные с учетными записями и если находит такую учетную запись, то отправляет ответ, что все ОК, если не находит, отправляет ответ, что неверный логин или пароль.

Пример:
В лаунчере (функции для PHP, заменять на функции нужного языка программирования):
Код
$url = "http://launcher.server.com/login.php?s=".base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), $q, MCRYPT_MODE_CBC, md5( md5(qJB0rGtIn5UB1xG03efyCp) ) ) );
if (file_get_contents($url) == "OK") {
      // Запуск игры
}
else {
      // Выводим сообщение о том, что неправильный логин или пароль
}


В скрипте login.php на сервере:
Код
<?php

// Данные из GET-запроса
$account = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_256, md5(qJB0rGtIn5UB1xG03efyCp), base64_decode(preg_replace("!^a-zA-Z0-9_!", "", strip_tags($_GET["s"]))), MCRYPT_MODE_CBC, md5( md5(qJB0rGtIn5UB1xG03efyCp) ) ), "\0");

// Добавляем список аккаунтов в массив $db
$db = explode("\r\n", file_get_contents("db.txt"));

// Ищем совпадение аккаунта
foreach ($db as $value) {
      if ($account == $value) {
          echo "OK";
          exit;
      }
}
echo "BAD ACCOUNT";

?>


Файл db.txt в таком формате:
Код
login:password
login789:password888


Регистрация юзеров, упрощенно:
Код
<?php

if(!$_POST["login"]) {
      echo "<form action='' method='post'><p>Login: <input type='text' name='login'></p><p>Password: <input type='password' name='password'></p><p><input type='submit' value='Register account!'></p></form>";
}
else {
      $login = preg_replace("!^a-zA-Z0-9_!", "", strip_tags($_POST["login"]));
      $password= preg_replace("!^a-zA-Z0-9_!", "", strip_tags($_POST["password"]));
      file_put_contents("db.txt", $login.":".$password."\r\n", FILE_APPEND);
      echo "OK, REGISTERED USER ".$login.":".$password;
}

?>


Сообщение отредактировал AlexSmirnoff - Четверг, 15 Января 2015, 17:24
KeiLe491Дата: Вторник, 20 Января 2015, 15:08 | Сообщение # 5
был не раз
Сейчас нет на сайте
AlexSmirnoff, Воо, спасибо что подробно написал:)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг