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

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

Можно ли сделать так чтоб плащи могли ставить только випы и администрация?
 
Проблема такая. При нажатие "войти" в лаунчере входит в любом случае (даже если не правильно ввел пароль) и при проверке авторизации через index1.php выдает такую ошибку
PHP:
Warning: mysql_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. Как не странно авторизация в системе скинов работает отлично.
 
supplied argument is not a valid MySQL result resource in Z:homelocalhostwwwauthauth.php on line 26

Скорее всего ты неверно настроил connect.php
 
у меня XF там вариантов немного
ЗЫ если учесть что изначально все под него и настроено и надо изменить только название, логин и пароль к БД
 
Я ж говорю у меня add_columns.sql не получается поставить и скорее всего проблема именно в нем и кстати система скинов использует у меня те же настройки и отлично работает.
 
@MOHCTEP, у тебя таблица с пользователями в базе данных как называется? Скинь свой connect.php (пароль к базе можешь стереть)
 
Код:
<?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");
?>
 
Таблица с юзерами 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);
 
А и еще (тока щас заметил) когда в браузере открываю checkserver.php пишет "Запрос к базе завершился ошибкой."
 
@MOHCTEP, выполни sql запрос в базе данных mysql
Код:
ALTER TABLE xf_user
ADD session varchar(255) DEFAULT NULL,
ADD server varchar(255) DEFAULT NULL
 
Так теперь checkserver.php пишет просто NO, а все остальное осталось как и было.
 
Ничего. Сразу включает игру и неважно какой логин и пароль ввел
 
при тестировании index'ом 1 вылазиет та же самая ошибка в 26 строке (насчет bad login)
 
Лаунчер местный, да и я другими проверял. Я сначала и сам на лаунчер именно подумал, но проверил 3мя разными (1 из них использовал месяц назад для другой системы авторизации и все было норм)
 
@MOHCTEP, т.е. ты скачал с гитхаба исходники лаунчера и скомпилировал их?
 
Код:
<?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';
            }
?>
 

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

Назад
Верх