1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
  3. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Лаунчер FMXL3+Fix (исправления для лаунчера)

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем synthetic, 24 июн 2016.

  1. Neuter

    Neuter Старожил Пользователь

    Баллы:
    123
    Skype:
    Neuter3
    Имя в Minecraft:
    Dream4Game
    неплохо. раньше бы эту тему)
     
  2. demkom

    demkom Guest

    @synthetic, объясни мне.
    Для Wordperss, нужно:
    - В settings.php нужно установить значение:
    $playersTableName на wp_users
    $playersColumnName на user_login

    [​IMG]
    - В dbUtils.php нужно установить значение:
    const CMS_TYPE = DatabaseWorker::CMS_WORDPRESS;

    Так?
    -----------------------------------------------
    Я поставил все так, идем дальше.
    [​IMG]
    В auth.php все обламывается на ~40 строке.
    В responense.txt и toresponense.txt вообще пусто.
    Код:
        // Расшифровываем запрос:
            Response.SaveToFile('C:\responense.txt');
        EncryptDecryptVerrnam(Response.Memory, Response.Size, PAnsiChar(FEncryptionKey), Length(FEncryptionKey));
        UTF8Convert(Response);
    
        // Преобразовываем запрос в JSON:
             Response.SaveToFile('C:\toresponense.txt');
        FAuthResponse^ := JSONStringToJSONObject(Response.DataString);
    
    servers.json проверялся парсером ошибок нету.
    Ключ шифрования совпадает. (Только что специально ещё раз проверил)
    Версия php 7.0, пробовал и 5.6.
     
    Последнее редактирование модератором: 20 фев 2017
  3. Автор темы
    synthetic

    synthetic Активный участник Пользователь

    Баллы:
    76
    demkom, самое главное: проверь, что версия PHP которую ты используешь 5.6 или новее.
    в самом начале файла dbutils нужно раскомментировать одну строчку, специально для wordpress.

    щас буду думать дальше
     
  4. demkom

    demkom Guest

    Раскомментировал. Версия php 7.0, пробовал и 5.6.
     
  5. Автор темы
    synthetic

    synthetic Активный участник Пользователь

    Баллы:
    76
  6. demkom

    demkom Guest

    Вот здесь все дохнет.
    (40) $authStatus = $dbWorker->IsPlayerInBase($playersTableName, $login, $password);
     
  7. Автор темы
    synthetic

    synthetic Активный участник Пользователь

    Баллы:
    76
    Ну значит нужно лезть в тело функции IsPlayerInBase, в файл WordPress.php и применять метод поиска льва в пустыне уже там. Внимательно посмотри, возможно у тебя по-другому называются таблицы или столбцы в них.

    А логи веб-сервера на всякий случай почитай.
    Ещё желательно проверить наличие расширения PDO в PHP-движке, выполнив функцию phpinfo();
     
  8. demkom

    demkom Guest

    PDO включил.
    Собсна логи:
    Код:
    [Mon Feb 20 00:17:32.674575 2017] [:error] [pid 608769:tid 139626819704576] PHP Fatal error:  Uncaught Error: Class 'PasswordHash' not found in /home/nrabftei/domains/мой домен/public_html/websys/webUtils/CMS/WordPress.php:14
    [Mon Feb 20 00:17:32.674586 2017] [:error] [pid 608769:tid 139626819704576] Stack trace:
    [Mon Feb 20 00:17:32.674605 2017] [:error] [pid 608769:tid 139626819704576] #0 /home/nrabftei/domains/мой домен/public_html/websys/webUtils/dbUtils.php(139): include()
    [Mon Feb 20 00:17:32.674632 2017] [:error] [pid 608769:tid 139626819704576] #1 /home/nrabftei/domains/мой домен/public_html/websys/auth.php(41): DatabaseWorker->IsPlayerInBase('wp_users', 'demkom', '21432')
    [Mon Feb 20 00:17:32.674636 2017] [:error] [pid 608769:tid 139626819704576] #2 {main}
    [Mon Feb 20 00:17:32.674656 2017] [:error] [pid 608769:tid 139626819704576]  thrown in /home/nrabftei/domains/мой домен/public_html/websys/webUtils/CMS/WordPress.php on line 14
    [Mon Feb 20 00:29:20.159557 2017] [:error] [pid 608871:tid 139627029423872] PHP Warning:  include_once(WordPressPasswordHash.php): failed to open stream: No such file or directory in /home/nrabftei/domains/мой домен/public_html/websys/webUtils/dbUtils.php on line 4
    [Mon Feb 20 00:29:20.159622 2017] [:error] [pid 608871:tid 139627029423872] PHP Warning:  include_once(): Failed opening 'WordPressPasswordHash.php' for inclusion (include_path='.:/opt/alt/php70/usr/share/pear') in /home/nrabftei/domains/мой домен/public_html/websys/webUtils/dbUtils.php on line 4
    [Mon Feb 20 00:29:20.163407 2017] [:error] [pid 608871:tid 139627029423872] PHP Fatal error:  Uncaught Error: Class 'PasswordHash' not found in /home/nrabftei/domains/мой домен/public_html/websys/webUtils/CMS/WordPress.php:14
    [Mon Feb 20 00:29:20.163422 2017] [:error] [pid 608871:tid 139627029423872] Stack trace:
    [Mon Feb 20 00:29:20.163439 2017] [:error] [pid 608871:tid 139627029423872] #0 /home/nrabftei/domains/мой домен/public_html/websys/webUtils/dbUtils.php(139): include()
    [Mon Feb 20 00:29:20.163461 2017] [:error] [pid 608871:tid 139627029423872] #1 /home/nrabftei/domains/мой домен/public_html/websys/auth.php(42): DatabaseWorker->IsPlayerInBase('wp_users', 'demkom', '2351')
    [Mon Feb 20 00:29:20.163465 2017] [:error] [pid 608871:tid 139627029423872] #2 {main}
    [Mon Feb 20 00:29:20.163483 2017] [:error] [pid 608871:tid 139627029423872]  thrown in /home/nrabftei/domains/мой домен/public_html/websys/webUtils/CMS/WordPress.php on line 14
    
     
    Последнее редактирование модератором: 20 фев 2017
  9. Автор темы
    synthetic

    synthetic Активный участник Пользователь

    Баллы:
    76
    demkom, добавь в начало файла dbutils.php

    Код:
    include_once('settings.php');
    include_once('class-phpass.php');
    
    а WordPress.php попробуй изменить на вот этот:

    Код:
    global $playersTableName;
    
    $wp_hasher = new PasswordHash(8, TRUE);
    
    $user = array(
        'login'    => $login,
        'password' => $password
    );
    
    $sql = $db_handle->prepare("SELECT `user_pass` FROM `{$playersTableName}` WHERE `user_login`=:login");
    
    if ($sql->execute(array('login' => $login))) {
        $password_hashed = $sql->fetchColumn();
        if($wp_hasher->CheckPassword($password, $password_hashed)) {
            $authStatus = USER_EXISTS;
        } else {
            $authStatus = USER_NOT_EXISTS;
        }
    
    } else {
        return $this::STATUS_DB_OBJECT_NOT_PRESENT;
    }
    
    И добавь файлы, как рекомендует STARR вот в этой инструкции.
    Похоже, что FMXL3 разучился работать с новыми версиями БД для WordPress, нужно будет потанцевать с бубном.
     
  10. demkom

    demkom Guest

    Ладненько, буду ждать фикса.
     
  11. Автор темы
    synthetic

    synthetic Активный участник Пользователь

    Баллы:
    76
    demkom, Я сам с WordPress дел не имею, так что вся надежда на тебя =) Попробуй сам потанцевать с бубном, я могу подсказывать в случае чего...
     
  12. demkom

    demkom Guest

    Эхххх. Ладно что то буду пробовать, но лучше не надеяться на меня...
    P.S. А я так не хотел ставить этот DLE. Если не получится исправить придется его ставить.
     
  13. vladv

    vladv Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    luccaloyola
    Как сделать авторизацию через, офицальный сайт
     
  14. Автор темы
    synthetic

    synthetic Активный участник Пользователь

    Баллы:
    76
    Тебе самый официальный сайт или можно не очень официальный?
    Попробуй почитать инструкцию.
     
  15. RussiaCraft

    RussiaCraft Активный участник Пользователь

    Баллы:
    61
    Ребят, помогите, в общем, всё сделал, скомпилировал Delphi Berlin (Если не ошибаюсь, то это 10.1), пробую запустит (Всё настроил) и в итоге у меня ошибка "Неверный логин или пароль"
    Забыл добавить, что во время компиляции появляются варнинги (Warnings) ~ 21 шт.
     
  16. Автор темы
    synthetic

    synthetic Активный участник Пользователь

    Баллы:
    76
    RussiaCraft, 1. Проверь ключи шифрования в лаунчере и веб-части. 2. Скачай свежую версию исходников веб-части и лаунчера из GitHub. 3. Убедись, что на WEB-сервере установлен PHP 5.6+ и есть расширение PDO. 4. Выведи логи из веб-части вот этим способом.
     
  17. RussiaCraft

    RussiaCraft Активный участник Пользователь

    Баллы:
    61
    Вроде всё проверил, кроме последнего пункта, т. к. не создаётся файл mylog.txt, остальное всё нормально, и PDO есть и PHP 7.1 (Была 7.0)
    + Вопрос, что тут писать
    // Ключ шифрования пароля в реестре:
     
  18. Автор темы
    synthetic

    synthetic Активный участник Пользователь

    Баллы:
    76
    Случайную последовательность букв и цифр впиши.

    Попробуй сам создать файл mylog.txt, может он не создаётся из-за нехватки прав на каталог.
     
  19. RussiaCraft

    RussiaCraft Активный участник Пользователь

    Баллы:
    61
    Не помогает, размер всё-равно 0 бит + Как его полноценно к DLE привязать? (В спец. файле DLE указал, но может надо, что-то подправить?)
     
  20. Автор темы
    synthetic

    synthetic Активный участник Пользователь

    Баллы:
    76
    Надо проверить какое шифрование паролей использует твоя версия DLE (погуглить это).
    Если md5(md5(пароль)) то ничего менять не надо. А если другое - надо танцевать с бубном и чуть подправить код. Я могу помочь с этим. Скажи какая версия DLE у тебя сейчас стоит и желательно скинь ссылку на исходный код.

    Если файл 0 бит значит до момента записи mylog.txt программа в файле auth.php даже не доходит. Тебе надо применять поиск ошибки методом поиска льва в пустыне.
     
    Последнее редактирование: 27 фев 2017

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