- Баллы
- 173
@qwertyYy2, используй свой joinserver.php добавь то что нужно для проверки и все.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
@Eugene1997, все файлы тут.Upd от меня.
Собрал NetClientHandler 1.4.5.zip под Forge 1.4.5 и 1.2.5
Там есть под чистый 1.4.5 даже без модлоадера.Мне Forge как бы не нужен))) а инструкцию можно , сейчас скачать не могу)
<?php
require_once('../system.php');
if (!empty($_GET['sessionId']) and !empty($_GET['user']) and !empty($_GET['serverId'])) {
$sessionid = mysql_real_escape_string($_GET['sessionId']);
$login = mysql_real_escape_string($_GET['user']);
$serverid = mysql_real_escape_string($_GET['serverId']);
$md5 = $_GET["s"];
$realmd5 = md5(file_get_contents("MinecraftDownload/minecraft.jar"));
if (!preg_match("/^[a-zA-Z0-9_-]+$/", $login)) {
$str = "Join Server [Bad symbols Login] ";
echo "Bad login";
} elseif (!preg_match("/^[0-9]+$/", $sessionid)) {
$str = "Join Server [Bad symbols SessionId] ";
echo "Bad login";
} elseif (!preg_match("/^[a-z0-9_-]+$/", $serverid)) {
$str = "Join Server [Bad symbols ServerId] ";
echo "Bad login";
} else {
$str = "Join Server [Info] Session [$sessionid] | User [$login] | Server [$serverid]\r\n";
$result = BD("SELECT $bd_aUsername FROM $bd_table_accounts WHERE $bd_aSession='$sessionid' AND $bd_aUsername='$login' AND $bd_aServer='$serverid'");
if($md5 == $realmd5 or die ("Нарушение безопасности."));
if(mysql_num_rows($result) == 1){
$str .= "Join Server [Result] Relogin OK";
echo "OK";
} else {
$result = BD("UPDATE $bd_table_accounts SET $bd_aServer='$serverid' WHERE $bd_aSession='$sessionid' AND $bd_aUsername='$login'");
if(mysql_affected_rows() == 1){
$str .= "Join Server [Result] Login OK";
echo "OK";
} else {
$str .= "Join Server [Result] Bad Login NO";
echo "Bad login";
}
}
}
} else {
$str = "Join Server [Result] GET parameter empty ";
if (empty($_GET['user'])) $str .= "LOGIN parameter is empty | ";
if (empty($_GET['sessionId'])) $str .= "SESSIONID parameter is empty";
if (empty($_GET['serverId'])) $str .= "SERVERID parameter is empty";
echo "Bad login";
}
vtxtlog($str);
?>

<?php
require_once('../system.php');
if (!empty($_GET['sessionId']) and !empty($_GET['user']) and !empty($_GET['serverId'])) {
$sessionid = mysql_real_escape_string($_GET['sessionId']);
$login = mysql_real_escape_string($_GET['user']);
$serverid = mysql_real_escape_string($_GET['serverId']);
$md5 = $_GET["s"];
$realmd5 = md5(file_get_contents("MinecraftDownload/minecraft.jar"));
$result = mysql_query("Select $db_columnUser From $db_table Where $db_columnSesId='$sessionid' And $db_columnUser='$login' And $db_columnServer='$serverid'") or die ("Запрос к базе завершился ошибкой.");
if($md5 == $realmd5 or die ("Нарушение безопасности."))
if(mysql_num_rows($result) == 1)
{
echo "OK";
} else {
$result = mysql_query("Update $db_table SET $db_columnServer='$serverid' Where $db_columnSesId='$sessionid' And $db_columnUser='$login'") or die ("Запрос к базе завершился ощибкой.");
if(mysql_affected_rows() == 1){
echo "OK";
} else {
echo "Используйте Лаунчер";
}
}
if (!preg_match("/^[a-zA-Z0-9_-]+$/", $login)) {
$str = "Join Server [Bad symbols Login] ";
echo "Bad login";
} elseif (!preg_match("/^[0-9]+$/", $sessionid)) {
$str = "Join Server [Bad symbols SessionId] ";
echo "Bad login";
} elseif (!preg_match("/^[a-z0-9_-]+$/", $serverid)) {
$str = "Join Server [Bad symbols ServerId] ";
echo "Bad login";
} else {
$str = "Join Server [Info] Session [$sessionid] | User [$login] | Server [$serverid]\r\n";
$result = BD("SELECT $bd_aUsername FROM $bd_table_accounts WHERE $bd_aSession='$sessionid' AND $bd_aUsername='$login' AND $bd_aServer='$serverid'");
if(mysql_num_rows($result) == 1){
$str .= "Join Server [Result] Relogin OK";
echo "OK";
} else {
$result = BD("UPDATE $bd_table_accounts SET $bd_aServer='$serverid' WHERE $bd_aSession='$sessionid' AND $bd_aUsername='$login'");
if(mysql_affected_rows() == 1){
$str .= "Join Server [Result] Login OK";
echo "OK";
} else {
$str .= "Join Server [Result] Bad Login NO";
echo "Bad login";
}
}
}
} else {
$str = "Join Server [Result] GET parameter empty ";
if (empty($_GET['user'])) $str .= "LOGIN parameter is empty | ";
if (empty($_GET['sessionId'])) $str .= "SESSIONID parameter is empty";
if (empty($_GET['serverId'])) $str .= "SERVERID parameter is empty";
echo "Bad login";
}
vtxtlog($str);
?>
Во первых: MinecraftDownload/minecraft.jar - путь до minecraft.jarВроде все правильно сделал, но почемуто нехочет блокировать кнопку сет.игра
в клиенте указал ссылку на joinserver.php
вроде должно блокировать кнопку, но нет, не блокируется
Код:<?php require_once('../system.php'); if (!empty($_GET['sessionId']) and !empty($_GET['user']) and !empty($_GET['serverId'])) { $sessionid = mysql_real_escape_string($_GET['sessionId']); $login = mysql_real_escape_string($_GET['user']); $serverid = mysql_real_escape_string($_GET['serverId']); $md5 = $_GET["s"]; $realmd5 = md5(file_get_contents("MinecraftDownload/minecraft.jar")); $result = mysql_query("Select $db_columnUser From $db_table Where $db_columnSesId='$sessionid' And $db_columnUser='$login' And $db_columnServer='$serverid'") or die ("Запрос к базе завершился ошибкой."); if($md5 == $realmd5 or die ("Нарушение безопасности.")) if(mysql_num_rows($result) == 1) { echo "OK"; } else { $result = mysql_query("Update $db_table SET $db_columnServer='$serverid' Where $db_columnSesId='$sessionid' And $db_columnUser='$login'") or die ("Запрос к базе завершился ощибкой."); if(mysql_affected_rows() == 1){ echo "OK"; } else { echo "Используйте Лаунчер"; } } if (!preg_match("/^[a-zA-Z0-9_-]+$/", $login)) { $str = "Join Server [Bad symbols Login] "; echo "Bad login"; } elseif (!preg_match("/^[0-9]+$/", $sessionid)) { $str = "Join Server [Bad symbols SessionId] "; echo "Bad login"; } elseif (!preg_match("/^[a-z0-9_-]+$/", $serverid)) { $str = "Join Server [Bad symbols ServerId] "; echo "Bad login"; } else { $str = "Join Server [Info] Session [$sessionid] | User [$login] | Server [$serverid]\r\n"; $result = BD("SELECT $bd_aUsername FROM $bd_table_accounts WHERE $bd_aSession='$sessionid' AND $bd_aUsername='$login' AND $bd_aServer='$serverid'"); if(mysql_num_rows($result) == 1){ $str .= "Join Server [Result] Relogin OK"; echo "OK"; } else { $result = BD("UPDATE $bd_table_accounts SET $bd_aServer='$serverid' WHERE $bd_aSession='$sessionid' AND $bd_aUsername='$login'"); if(mysql_affected_rows() == 1){ $str .= "Join Server [Result] Login OK"; echo "OK"; } else { $str .= "Join Server [Result] Bad Login NO"; echo "Bad login"; } } } } else { $str = "Join Server [Result] GET parameter empty "; if (empty($_GET['user'])) $str .= "LOGIN parameter is empty | "; if (empty($_GET['sessionId'])) $str .= "SESSIONID parameter is empty"; if (empty($_GET['serverId'])) $str .= "SERVERID parameter is empty"; echo "Bad login"; } vtxtlog($str); ?>
Ура! все работает. если подменить клиент пишет User Not Premium, если своим клиентом все нормально!К этой строчке присмотрисьКод:<?php require_once('../system.php'); if (!empty($_GET['sessionId']) and !empty($_GET['user']) and !empty($_GET['serverId'])) { $sessionid = mysql_real_escape_string($_GET['sessionId']); $login = mysql_real_escape_string($_GET['user']); $serverid = mysql_real_escape_string($_GET['serverId']); $md5 = $_GET["s"]; $realmd5 = md5(file_get_contents("MinecraftDownload/minecraft.jar")); if (!preg_match("/^[a-zA-Z0-9_-]+$/", $login)) { $str = "Join Server [Bad symbols Login] "; echo "Bad login"; } elseif (!preg_match("/^[0-9]+$/", $sessionid)) { $str = "Join Server [Bad symbols SessionId] "; echo "Bad login"; } elseif (!preg_match("/^[a-z0-9_-]+$/", $serverid)) { $str = "Join Server [Bad symbols ServerId] "; echo "Bad login"; } else { $str = "Join Server [Info] Session [$sessionid] | User [$login] | Server [$serverid]\r\n"; $result = BD("SELECT $bd_aUsername FROM $bd_table_accounts WHERE $bd_aSession='$sessionid' AND $bd_aUsername='$login' AND $bd_aServer='$serverid'"); if($md5 == $realmd5 or die ("Нарушение безопасности.")); if(mysql_num_rows($result) == 1){ $str .= "Join Server [Result] Relogin OK"; echo "OK"; } else { $result = BD("UPDATE $bd_table_accounts SET $bd_aServer='$serverid' WHERE $bd_aSession='$sessionid' AND $bd_aUsername='$login'"); if(mysql_affected_rows() == 1){ $str .= "Join Server [Result] Login OK"; echo "OK"; } else { $str .= "Join Server [Result] Bad Login NO"; echo "Bad login"; } } } } else { $str = "Join Server [Result] GET parameter empty "; if (empty($_GET['user'])) $str .= "LOGIN parameter is empty | "; if (empty($_GET['sessionId'])) $str .= "SESSIONID parameter is empty"; if (empty($_GET['serverId'])) $str .= "SERVERID parameter is empty"; echo "Bad login"; } vtxtlog($str); ?>
$realmd5 = md5(file_get_contents("MinecraftDownload/minecraft.jar"));
Путь до minecraft.jar укажи
Вообще-то нужно, чтобы было "Нарушение безопасности", конечно хэш можно подменить до захода на сервер.Ура! все работает. если подменить клиент пишет User Not Premium, если своим клиентом все нормально!
1.4.5Этот тутор под 1.3.2 - 1.4.6 не идет -_-у меня вот такая ошибка, что делать?
P.S. я файлы даже не менял ( для эксперимента )