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;
}
?>