Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
  • Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Лаунчер Империя от XeroXP

ставил комментарии где вывод изображения а кнопка так и осталась?
 
if(strlen($user) == 0) - это проверка на заполненность поля
Я это вижу, но это тож криво вызов функции прямо в условии
Но факт остается есле в данном скрипте не существует $_GET['user']; то будет

Notice: Undefined index: user in ...

Notice: Undefined index: email in...
 
Это все мелочи по сравнению с этим (версия 2013 года):

Код:
function registerServer()
{
include("connect.php");
$user=$_GET['user'];
$password=$_GET['password'];
$password2=$_GET['password2'];
$mail=$_GET['email'];

if(strlen($user) == 0){
die("errorField");
}elseif(strlen($password) == 0){
die("errorField");
}elseif(strlen($password2) == 0){
die("errorField");
}elseif(strlen($mail) == 0){
die("errorField");
}

if(!preg_match("/^([0-9a-z_-]|(\/|\?|\\|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\=|\+|\||\;|\:|\.|\,|\~|))*$/i", $_GET['user']))
  die ("errorLoginSymbol");
elseif(preg_match("[^0-9a-zA-Z_-@]", $password, $Txt))
  die ("passErrorSymbol");
elseif (!preg_match("[@]",$mail))
  die ("errorMail");

if ((strlen($user) < 2) or (strlen($user) > 20))
die ("errorSmallLogin");

if ((strlen($password) < 4) or (strlen($password) > 20))
die ("errorPassSmall");

if($password != $password2)
die("errorPassToPass");

if (!empty($_GET['sn'])){
$sn = $_GET['sn'];
$snProverka = mysql_query("SELECT $db_columnsn FROM $db_table WHERE $db_columnsn ='{$sn}'") or die ("Запрос к базе завершился ошибкой.".mysql_error());
if (mysql_num_rows($snProverka))
die("ErrorRegFrom");
}

$eMailProverka = mysql_query("SELECT $db_columnEmail FROM $db_table WHERE $db_columnEmail ='{$mail}'") or die ("Запрос к базе завершился ошибкой.".mysql_error());
if (mysql_num_rows($eMailProverka))
die("emailErrorPovtor");

В этих двух запросах не фильтруются кавычки, туда можно вставить что-то вроде UNION SELECT что-нибудь INTO OUTFILE что-нибудь
Правда я не могу сообразить что тут можно сделать, если не будет прав на запись файла, но все равно можно через это заддосить сервер.

UPD: Я дурак, в mysql есть же IF, SUBSTRING, SLEEP и ASCII можно посимвольно перебирать поля, по задержке ответа определяя угадал или нет.
$user=$_GET['user'];
$user=mysql_real_escape_string($user);
$password=$_GET['password'];
$password=mysql_real_escape_string($password);
...
и так далее обрабатываешь все get запросы (это защита от mysql инъекций)
 
$user=$_GET['user'];
$user=mysql_real_escape_string($user);
$password=$_GET['password'];
$password=mysql_real_escape_string($password);
...
и так далее обрабатываешь все get запросы (это защита от mysql инъекций)
да правельно так можно от слешить все рабочие символы
Это все мелочи по сравнению с этим (версия 2013 года):

Код:
function registerServer()
{
include("connect.php");
$user=$_GET['user'];
$password=$_GET['password'];
$password2=$_GET['password2'];
$mail=$_GET['email'];

if(strlen($user) == 0){
die("errorField");
}elseif(strlen($password) == 0){
die("errorField");
}elseif(strlen($password2) == 0){
die("errorField");
}elseif(strlen($mail) == 0){
die("errorField");
}

if(!preg_match("/^([0-9a-z_-]|(\/|\?|\\|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\=|\+|\||\;|\:|\.|\,|\~|))*$/i", $_GET['user']))
  die ("errorLoginSymbol");
elseif(preg_match("[^0-9a-zA-Z_-@]", $password, $Txt))
  die ("passErrorSymbol");
elseif (!preg_match("[@]",$mail))
  die ("errorMail");

if ((strlen($user) < 2) or (strlen($user) > 20))
die ("errorSmallLogin");

if ((strlen($password) < 4) or (strlen($password) > 20))
die ("errorPassSmall");

if($password != $password2)
die("errorPassToPass");

if (!empty($_GET['sn'])){
$sn = $_GET['sn'];
$snProverka = mysql_query("SELECT $db_columnsn FROM $db_table WHERE $db_columnsn ='{$sn}'") or die ("Запрос к базе завершился ошибкой.".mysql_error());
if (mysql_num_rows($snProverka))
die("ErrorRegFrom");
}

$eMailProverka = mysql_query("SELECT $db_columnEmail FROM $db_table WHERE $db_columnEmail ='{$mail}'") or die ("Запрос к базе завершился ошибкой.".mysql_error());
if (mysql_num_rows($eMailProverka))
die("emailErrorPovtor");

В этих двух запросах не фильтруются кавычки, туда можно вставить что-то вроде UNION SELECT что-нибудь INTO OUTFILE что-нибудь
Правда я не могу сообразить что тут можно сделать, если не будет прав на запись файла, но все равно можно через это заддосить сервер.

UPD: Я дурак, в mysql есть же IF, SUBSTRING, SLEEP и ASCII можно посимвольно перебирать поля, по задержке ответа определяя угадал или нет.
есле можно вставить кавычку то можно практически все связанное с базами
 
По моему это не совсем правильно, потому что mysql_real_escape_string может выкинуть символы из ника или пароля, но игроку об этом не сообщит.


Может я криворукий, но я не могу понять как. В mysql_real_escape_string нельзя запихнуть несколько запросов разделенных точкой с запятой, то есть тут не выйдет что-нибудь вставить в таблицу. А через SLEEP всю таблицу сливать очень долго.
После mysql_real_escape_string уже некакой sql инЬукции
 
У меня такой вопрос.Я всё поставил,client.zip скачивается,разархивируется.А попутно появляется чистый Майн без модов.А как сделать,чтобы запускался именно тот клиент который скачивается?
И ещё вопрос.Где прописать место в которое должна скачиваться Bin или как прописать путь разархировки архива client.zip?
 
Помогите! Я всё сделал, авторизацию привязал, Iconomy привязал. Но не могу настроить скачку клиента. ЧТо там должно лежать? Обьясните пожалуйста.....
 
Помогите! Я всё сделал, авторизацию привязал, Iconomy привязал. Но не могу настроить скачку клиента. ЧТо там должно лежать? Обьясните пожалуйста.....
MinecraftDownload/Папка с название сервера<Test>/сlient.zip и остальные файлы c .minecraft!!!
 
почему при авторизации у меня пишет "Запрос к базе завершился ошибкой!"
ЗЫ только что зарегестрировался!
 
XeroXP, А какая кодировка в свойствах NetBins? Ато квадратные нолики вместо русских коментариев.
 
Помогите, лаунчер империя, не могу настроить скины, точнее они настроены все сделано прописано, НО в самом лаунчере когда пытаешься их загрузить пишет не верный размер фаила.
Я уже и запусной класс менял, и библиотеки подгружал, и искал проэкты с лаучнерами имеприя декомпилировал их и менял сетинг джава на свой, в лебом случае эта ошибка.
Как я понял размер задается в mainfiles.php который лежит на хосте я его и там редакитровал все равно не работает.
Если не в западло скинте плиз свой mainfile.php может у меня в нем ошибка
 
Помогите, лаунчер империя, не могу настроить скины, точнее они настроены все сделано прописано, НО в самом лаунчере когда пытаешься их загрузить пишет не верный размер фаила.
Я уже и запусной класс менял, и библиотеки подгружал, и искал проэкты с лаучнерами имеприя декомпилировал их и менял сетинг джава на свой, в лебом случае эта ошибка.
Как я понял размер задается в mainfiles.php который лежит на хосте я его и там редакитровал все равно не работает.
Если не в западло скинте плиз свой mainfile.php может у меня в нем ошибка

oldmine.ru,
Почти школьный проект
 

Вложения:

  • mainfile.zip
    mainfile.zip
    Размер файла
    5,4 КБ
    Просмотров
    6

Поделиться этой страницей

Назад
Верх