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

Помогите настроить joinserver.php webCMR

qwertyYy2

Старожил
Баллы
103
Скачал NetClientHandler с отправкой MD5 на joinserver.php (блокировка кнопки "Сетевая игра")
Так вот, нужно правильно настроить joinserver.php, как бы сказать обьеденить :) использую лк WebCMR
joinserver.php (webCMR)

Код:
<?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']);
 
    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);
?>
Joinserver.php (с проверкой)

Код:
<?php
define('INCLUDE_CHECK',true);
include ("connect.php");
 
$sessionid = mysql_real_escape_string($_GET['sessionId']);
$user = mysql_real_escape_string($_GET['user']);
$serverid = mysql_real_escape_string($_GET['serverId']);
//**********************************************************************
$md5 = $_GET["s"];                                                    //
$realmd5 = md5(file_get_contents("MinecraftDownload/minecraft.jar"));  // Сверяем MD5
//**********************************************************************
$result = mysql_query("Select $db_columnUser From $db_table Where $db_columnSesId='$sessionid' And $db_columnUser='$user' And $db_columnServer='$serverid'") or die ("Запрос к базе завершился ошибкой.");
//**********************************************************
if($md5 == $realmd5 or die ("Нарушение безопасности."))  // Ответ клиенту при неверном MD5
//**********************************************************
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='$user'") or die ("Запрос к базе завершился ощибкой.");
 
    if(mysql_affected_rows() == 1){
        echo "OK";
    } else {
        echo "Используйте Лаунчер";
    }
}
?>
 

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

Назад
Верх