[Помогите] Авторизация через базу данных XenForo

Тема в разделе "xenForo", создана пользователем ty14R, 9 янв 2019.

  1. ty14R

    ty14R

    Регистрация:
    9 янв 2019
    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте, возникла проблема.
    У меня есть клиент написанный на шарпе, нужно осуществлить авторизацию через форумный движок XenForo.

    В корневой папке есть файл check.php [В нем как раз таки сам код, который осуществляет проверку верности ввода логина и пароля].
    Сам клиент посылает на сервер запрос, а именно в файл check.php таким образом:
    Form1.cs
    Код:
     webBrowser1.Navigate(Settings.Auth + "?username=" + metroTextBox1.Text + " & password=" + metroTextBox2.Text + "&hwid=" + hwid);
    Settings.cs
    Код:
    public static string Auth = "http://mysite.com/check.php";
    Так вот, в чем проблема, я делал раньше авторизацию через форумный движок mybb, но она вообще не подходит под XenForo.

    check.php
    PHP:
    <?php
    $link 
    mysqli_connect("localhost""db_name","db_pass");
    $database mysqli_select_db($link"db_username");
    $user $_GET['username'];
    $password $_GET['password'];
    $hwid $_GET['hwid'];
    $tables "xf_user";
    $sql "SELECT * FROM "$tables ." WHERE username = '"mysqli_real_escape_string($link,$user) ."'" ;
    $result $link->query($sql);
    if (
    $result->num_rows 0) {
        
    // Outputting the rows
        
    while($row $result->fetch_assoc())
        {
            
            
    $password $row['password']; 
            
    $salt $row['salt'];
            
    $plain_pass $_GET['password'];
            
    $stored_pass md5(md5($salt).md5($plain_pass));
            
            function 
    Redirect($url$permanent false)
            {
                if (
    headers_sent() === false)
                {
                    
    header('Location: ' $urltrue, ($permanent === true) ? 301 302);
                }
            exit();
            }
            
            if(
    $stored_pass != $row['password'])
            {
                echo 
    "p0<br>"// Wrong pass, user exists
            
    }
            else
            {
                echo 
    "p1<br>"// Correct pass
            
    }
            
            echo 
    "g" $row['usergroup'] . "<br>";
            if (
    strlen($row['hwid']) > 1)
            {
                if (
    $hwid != $row['hwid'])
                {
                    echo 
    "h2"// Wrong
                
    }
                else
                {
                    echo 
    "h1"// Correct
                
    }
            }
            else
            {
                
    $sql "UPDATE "$tables ." SET hwid='$hwid' WHERE username='$user'";
                if(
    mysqli_query($link$sql))
                {
                    echo 
    $row['hwid'];
                    echo 
    "h3"// HWID Set
                
    }
                else
                {
                    echo 
    "h4"// Else errors
                
    }
            }
        }

    ?>
    Кто может помочь переделать это под движок XenForo или хотя-бы помочь, каким образом я могу получить данные из движка Xenforo, ака login и pass из mysql.
    P.S Я знаю что в Xenforo пароль хранится в xenforo_auth, но в душе не чаю как и что делать,
    с уважением, ty14r.