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

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

Лаунчер Система скинов + авторизация через лаунчер

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем byxar, 1 дек 2011.

  1. MOHCTEP

    MOHCTEP Старожил

    Баллы:
    103
    Можно ли сделать так чтоб плащи могли ставить только випы и администрация?
     
  2. MOHCTEP

    MOHCTEP Старожил

    Баллы:
    103
    Проблема такая. При нажатие "войти" в лаунчере входит в любом случае (даже если не правильно ввел пароль) и при проверке авторизации через index1.php выдает такую ошибку
    PHP:
    Warningmysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\auth\auth.php on line 26
    Bad login
    И да я знаю это скорее всего из-за того что я не смог поставить таблицу в БД "add_columns.sql". Она при добавлении просто выдает ошибку и я заметил что она по своему составу сильно отличается от других таблиц. Пожалуйста скажите как с этим всем боротся или как поставить эту БД.
    P.S. Как не странно авторизация в системе скинов работает отлично.
     
    Сникерсни нравится это.
  3. Lazy

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

    Баллы:
    103
    supplied argument is not a valid MySQL result resource in Z:homelocalhostwwwauthauth.php on line 26

    Скорее всего ты неверно настроил connect.php
     
  4. MOHCTEP

    MOHCTEP Старожил

    Баллы:
    103
    у меня XF там вариантов немного
    ЗЫ если учесть что изначально все под него и настроено и надо изменить только название, логин и пароль к БД
     
  5. MOHCTEP

    MOHCTEP Старожил

    Баллы:
    103
    Я ж говорю у меня add_columns.sql не получается поставить и скорее всего проблема именно в нем и кстати система скинов использует у меня те же настройки и отлично работает.
     
  6. z0z1ch

    z0z1ch Старожил Девелопер Пользователь

    Баллы:
    123
    @MOHCTEP, у тебя таблица с пользователями в базе данных как называется? Скинь свой connect.php (пароль к базе можешь стереть)
     
  7. MOHCTEP

    MOHCTEP Старожил

    Баллы:
    103
    Код:
    <?php
    if(!defined('INCLUDE_CHECK')) die('У вас нет прав на выполнение данного файла!');
     
    // Метод хеширования пароля для интеграции с различними плагинами/сайтами/cms/форумами
    /*
    'hash_md5'            - md5 хеширование
    'hash_authme'      - интеграция с плагином AuthMe
    'hash_cauth'        - интеграция с плагином Cauth
    'hash_xauth'        - интеграция с плагином xAuth
    'hash_joomla'        - интеграция с Joomla (v1.6- v1.7)
    'hash_ipb'            - интеграция с IPB
    'hash_xenforo'        - интеграция с XenForo
    'hash_wordpress'    - интеграция с WordPress
    'hash_vbulletin'        - интеграция с vBulletin
    'hash_dle'        - интеграция с DLE
    */
    $crypt = 'hash_xenforo';
     
     
    // Конфигурация подключения к базе данных
    $db_host        = '127.0.0.1'; // Ip-адрес базы данных
    $db_port        =  '3306'; // Порт базы данных
    $db_user        = 'root'; // Пользователь базы данных
    $db_pass        = '@@@@@'; // Пароль базы данных
     
    // Конфигурация базы данных для плагинов AuthMe, xAuth, CAuth и сайтав/cms/форумов Joomla, IPB, XenForo, WordPress
    /*
    $db_database - имя базы данных, значение по умолчанию:
    AuthMe = 'authme'
    xAuth = отсутствует (указывается вручную)
    CAuth = 'cauth'
    Joomla,IPB,XenForo,WordPress,vBulletin - отсутствует (указывается вручную)
    */
    $db_database    = 'mysql';
     
    /*
    $db_table - таблица базы данных, значение по умолчанию:
    AuthMe = 'authme'
    xAuth = 'accounts'
    CAuth = 'users'
    Joomla = 'префикс_users' - пример 'y3wbm_users', где "y3wbm_" - префикс. Примечание префикс может отсутствовать - пример 'users'
    IPB = 'members'
    XenForo = 'префикс_user' - пример 'xf_user', где "xf_" - префикс. Примечание префикс может отсутствовать - пример 'user'
    WordPress = 'префикс_users' - пример 'wp_users', где "wp_" - префикс. Примечание префикс может отсутствовать - пример 'users'
    vBulletin = 'префикс_user'
    */
    $db_table      = 'xf_user';
     
    /*
    $db_columnUser - колонка логина, значение по умолчанию:
    AuthMe = 'username'
    xAuth = 'playername'
    CAuth = 'login'
    Joomla = 'name'
    PB = 'name'
    XenForo = 'username'
    WordPress = 'user_login'
    vBulletin = 'username'
    */
    $db_columnUser  = 'username';
     
    /*
    $db_columnPass - колонка пароля, значение по умолчанию:
    AuthMe = 'password'
    xAuth = 'password'
    CAuth = 'password'
    Joomla = 'password'
    IPB = 'members_pass_hash'
    XenForo = 'data'
    WordPress = 'user_pass'
    vBulletin = 'password'
    */
    $db_columnPass  = 'data';
     
    // ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ ТОЛЬКО ДЛЯ IPB и XenForo
     
    // Настраивается только для XenForo 'префикс_user_authenticate' - пример 'xf_user_authenticate', где "xf_" - префикс. Примечание префикс может отсутствовать - пример 'user_authenticate'
    $db_tableOther = 'xf_user_authenticate';
     
    // Настраивается для IPB и vBulletin
    // IPB - members_pass_salt
    //vBulletin - salt
    $db_columnSalt = 'members_pass_salt';
     
     
    /*
    $db_columnSesId - колонка id сессии
    */
    $db_columnSesId = 'session';
     
    /*
    $db_columnServer - колонка id сервера
    */
    $db_columnServer = 'server';
     
    /*
    $db_GameDatatable - имя базы данных с информацией о версиях
    */
    $db_GameDatatable = 'data';
     
    /*
    НЕ МЕНЯТЬ
    */
    $db_Propertycolumn = 'property';
    $db_Valuecolumn = 'value';
     
     
    $link = @mysql_connect($db_host.':'.$db_port,$db_user,$db_pass) or die('Невозможно установить соединение с базой данных!');
     
    mysql_select_db($db_database,$link);
    mysql_query("SET names UTF8");
    ?>
     
  8. MOHCTEP

    MOHCTEP Старожил

    Баллы:
    103
    Таблица с юзерами xf_user
    Код:
    -- phpMyAdmin SQL Dump
    -- version 2.6.1
    -- http://www.phpmyadmin.net
    --
    -- Хост: 127.0.0.1:3306
    -- Время создания: Дек 17 2011 г., 16:13
    -- Версия сервера: 5.0.45
    -- Версия PHP: 5.2.4
    --
    -- БД: `mysql`
    --
     
    -- --------------------------------------------------------
     
    --
    -- Структура таблицы `xf_user`
    --
     
    CREATE TABLE `xf_user` (
      `user_id` int(10) unsigned NOT NULL auto_increment,
      `username` varchar(50) NOT NULL,
      `email` varchar(120) NOT NULL,
      `gender` enum('','male','female') NOT NULL default '' COMMENT 'Leave empty for ''unspecified''',
      `custom_title` varchar(50) NOT NULL default '',
      `language_id` int(10) unsigned NOT NULL,
      `style_id` int(10) unsigned NOT NULL COMMENT '0 = use system default',
      `timezone` varchar(50) NOT NULL COMMENT 'Example: ''Europe/London''',
      `visible` tinyint(3) unsigned NOT NULL default '1' COMMENT 'Show browsing activity to others',
      `user_group_id` int(10) unsigned NOT NULL,
      `secondary_group_ids` varbinary(255) NOT NULL,
      `display_style_group_id` int(10) unsigned NOT NULL default '0' COMMENT 'User group ID that provides user styling',
      `permission_combination_id` int(10) unsigned NOT NULL,
      `message_count` int(10) unsigned NOT NULL default '0',
      `conversations_unread` smallint(5) unsigned NOT NULL default '0',
      `register_date` int(10) unsigned NOT NULL default '0',
      `last_activity` int(10) unsigned NOT NULL default '0',
      `trophy_points` int(10) unsigned NOT NULL default '0',
      `alerts_unread` smallint(5) unsigned NOT NULL default '0',
      `avatar_date` int(10) unsigned NOT NULL default '0',
      `avatar_width` smallint(5) unsigned NOT NULL default '0',
      `avatar_height` smallint(5) unsigned NOT NULL default '0',
      `gravatar` varchar(120) NOT NULL default '' COMMENT 'If specified, this is an email address corresponding to the user''s ''Gravatar''',
      `user_state` enum('valid','email_confirm','email_confirm_edit','moderated') NOT NULL default 'valid',
      `is_moderator` tinyint(3) unsigned NOT NULL default '0',
      `is_admin` tinyint(3) unsigned NOT NULL default '0',
      `is_banned` tinyint(3) unsigned NOT NULL default '0',
      `like_count` int(10) unsigned NOT NULL default '0',
      `warning_points` int(10) unsigned NOT NULL default '0',
      PRIMARY KEY  (`user_id`),
      UNIQUE KEY `username` (`username`),
      KEY `email` (`email`),
      KEY `user_state` (`user_state`),
      KEY `last_activity` (`last_activity`)
    ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
     
    --
    -- Дамп данных таблицы `xf_user`
    --
     
    INSERT INTO `xf_user` VALUES (1, 'MOHCTEP', '[email protected]', 'male', '', 1, 0, 'Europe/London', 1, 2, 0x332c34, 3, 7, 2, 0, 1323419920, 1323580874, 3, 0, 0, 0, 0, '', 'valid', 1, 1, 0, 2, 0);
    INSERT INTO `xf_user` VALUES (2, 'Danila', '[email protected]', 'male', 'Тестовый', 1, 0, 'Europe/London', 1, 2, '', 2, 2, 1, 0, 1323422051, 1323422677, 1, 2, 0, 0, 0, '', 'valid', 0, 0, 0, 1, 0);
    INSERT INTO `xf_user` VALUES (3, 'Testuser', '[email protected]', 'male', '', 1, 0, 'Europe/London', 1, 2, '', 2, 2, 1, 0, 1323536986, 1323536997, 3, 6, 0, 0, 0, '', 'valid', 0, 0, 0, 1, 0);
    INSERT INTO `xf_user` VALUES (4, 'Multi95', '[email protected]', 'male', '', 1, 0, 'Europe/London', 1, 2, '', 2, 2, 0, 0, 1324119142, 1324119142, 0, 0, 0, 0, 0, '', 'valid', 0, 0, 0, 0, 0);
            
     
  9. MOHCTEP

    MOHCTEP Старожил

    Баллы:
    103
    А и еще (тока щас заметил) когда в браузере открываю checkserver.php пишет "Запрос к базе завершился ошибкой."
     
    RVXman нравится это.
  10. z0z1ch

    z0z1ch Старожил Девелопер Пользователь

    Баллы:
    123
    @MOHCTEP, выполни sql запрос в базе данных mysql
    Код:
    ALTER TABLE xf_user
    ADD session varchar(255) DEFAULT NULL,
    ADD server varchar(255) DEFAULT NULL
     
    MOHCTEP нравится это.
  11. MOHCTEP

    MOHCTEP Старожил

    Баллы:
    103
    Так теперь checkserver.php пишет просто NO, а все остальное осталось как и было.
     
  12. z0z1ch

    z0z1ch Старожил Девелопер Пользователь

    Баллы:
    123
    что лаунчер пишет при авторизации?
     
  13. MOHCTEP

    MOHCTEP Старожил

    Баллы:
    103
    Ничего. Сразу включает игру и неважно какой логин и пароль ввел
     
  14. z0z1ch

    z0z1ch Старожил Девелопер Пользователь

    Баллы:
    123
    Лаунчер где брал?
     
  15. MOHCTEP

    MOHCTEP Старожил

    Баллы:
    103
    при тестировании index'ом 1 вылазиет та же самая ошибка в 26 строке (насчет bad login)
     
  16. MOHCTEP

    MOHCTEP Старожил

    Баллы:
    103
    Лаунчер местный, да и я другими проверял. Я сначала и сам на лаунчер именно подумал, но проверил 3мя разными (1 из них использовал месяц назад для другой системы авторизации и все было норм)
     
  17. z0z1ch

    z0z1ch Старожил Девелопер Пользователь

    Баллы:
    123
    @MOHCTEP, т.е. ты скачал с гитхаба исходники лаунчера и скомпилировал их?
     
  18. MOHCTEP

    MOHCTEP Старожил

    Баллы:
    103
    Да именно так. НУ и я точно уверен что проблема не в лаунчере.
     
  19. z0z1ch

    z0z1ch Старожил Девелопер Пользователь

    Баллы:
    123
    покажи файл auth.php (под спойлер)
     
  20. MOHCTEP

    MOHCTEP Старожил

    Баллы:
    103
    Код:
    <?php
    define('INCLUDE_CHECK',true);
    require_once 'functions.php';
    include ("connect.php");
    $login = $_POST['user'];
    $postPass=$_POST['password'];
    $ver=$_POST['version'];
     
            if(getGameInfo('launcher') == $ver){
     
                    if ($crypt == 'hash_md5' || $crypt == 'hash_authme' || $crypt == 'hash_xauth' || $crypt == 'hash_cauth' || $crypt == 'hash_joomla' || $crypt == 'hash_wordpress' || $crypt == 'hash_dle')
                    {
                        $row = mysql_fetch_assoc(mysql_query("SELECT $db_columnUser,$db_columnPass FROM $db_table WHERE $db_columnUser='{$_POST['user']}'"));
                        $realPass = $row[$db_columnPass];
                    }
     
                    if ($crypt == 'hash_ipb' || $crypt == 'hash_vbulletin')
                    {
                        $row = mysql_fetch_assoc(mysql_query("SELECT $db_columnUser,$db_columnPass,$db_columnSalt FROM $db_table WHERE $db_columnUser='{$_POST['user']}'"));
                        $realPass = $row[$db_columnPass];
                        $salt = $row[$db_columnSalt];
                    }
                     
                    if ($crypt == 'hash_xenforo')
                    {
                        $row = mysql_fetch_assoc(mysql_query("SELECT $db_table.$db_table.$db_columnUser,$db_tableOther.$db_tableOther.$db_columnPass FROM $db_table, $db_tableOther WHERE $db_table.$db_columnId = $db_tableOther.$db_columnId AND $db_table.$db_columnUser='{$_POST['user']}'"));
                        $realPass = substr($row[$db_columnPass],22,64);
                        $salt = substr($row[$db_columnPass],105,64);
                    }
     
                        if ($realPass)
                        {
                            $checkPass = $crypt();
                         
                            if(strcmp($realPass,$checkPass) == 0)
                            {
                                $sessid = generateSessionId();
                                $gamebuild=getGameInfo('build');
                                mysql_query("UPDATE $db_table SET $db_columnSesId='$sessid' WHERE $db_columnUser = '$login'") or die ("Запрос к базе завершился ошибкой.");
                                $dlticket = md5($login);
                                echo $gamebuild.':'.$dlticket.':'.$login.':'.$sessid.':';
                            }
                            else
                            {
                                echo "Bad login";
                            }
                        }
                    else {
                        echo "Bad login";
                        }
            }
            else{
                echo 'Old version';
                }
    ?>
     

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