Posted 30 сентября, 20168 yr comment_113043 Доброго времени суток, в общем суть такова планирую своими силами модернизировать регистрацию с форума IPB в дополнительную базу, к примеру для игрового сервера WoWПредлагаю перейти к обсуждению данного решения, возможно людям это будет полезным. И так, что мы имеем: № 1 Стандартная регистрация форума IPB - https://gadgetzan-lines.com/index.php?/register/ № 2 Стандартная регистрация для игрового сервера - https://gadgetzan-lines.com/reg/ По сути формы одинаковы, на базы конечно же разные. Задача: -Избавиться от регистрации номер №2, что бы при регистрации на форуме можно было попасть и в игру. Какие варианты решения задачи имеем? Ниже прикреплен дамп с таблицей account базы auth, именно в эту таблицу должна идти дополнительная регистрация! account.sql Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/ Share on other sites Больше вариантов
30 сентября, 20168 yr comment_113044 В ipb в ядре регистрации добавить данные о подключении к другой бд и создать запрос о регистрации (добавлении данных ) Подводные камни могут быть с шифрованием пароля. Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113044 Share on other sites Больше вариантов
30 сентября, 20168 yr Author comment_113047 13 минут назад, iKODEAK сказал: В ipb в ядре регистрации добавить данные о подключении к другой бд и создать запрос о регистрации (добавлении данных ) Подводные камни могут быть с шифрованием пароля. Допустим, сейчас залез в файлы форума, ох уж это ООП, подскажи какой именно файл-скрипт осуществляет заполнение базы, почему то в базе форума, таблица регистрации называется core_members, какие еще сюрпризы ждать от разработчиков IPB? Потому что я уже минут 30 копаюсь и не могу найти нужный скрипт регистрации.... Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113047 Share on other sites Больше вариантов
30 сентября, 20168 yr comment_113048 z8ToT8z, очень давно делал такое. там особое шифрование нужно добавить в IPS4 .. без хаков не обойтись. Нужно глянуть какой нибудь скрипт регистрации для сервера и глянуть как он шифрует пароли и потом уже делать хак. За заполнение базы юзеро отвечает //создать юзера new \IPS\Member(); /// пример загрузки и редакритования $user = \IPS\Member::load( 1 ); $user->name = 'Новое имя'; $user->save(); /// вызывать нужно всегда чтоб сохранить данные Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113048 Share on other sites Больше вариантов
30 сентября, 20168 yr Author comment_113050 9 минут назад, greykoo сказал: z8ToT8z, очень давно делал такое. там особое шифрование нужно добавить в IPS4 .. без хаков не обойтись. Нужно глянуть какой нибудь скрипт регистрации для сервера и глянуть как он шифрует пароли и потом уже делать хак. Вот та регистрация что у меня сейчас стоит, простая без заморочек. reg_ajax_v2.rar Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113050 Share on other sites Больше вариантов
30 сентября, 20168 yr comment_113051 18 минут назад, z8ToT8z сказал: Допустим, сейчас залез в файлы форума, ох уж это ООП, подскажи какой именно файл-скрипт осуществляет заполнение базы, почему то в базе форума, таблица регистрации называется core_members, какие еще сюрпризы ждать от разработчиков IPB? Потому что я уже минут 30 копаюсь и не могу найти нужный скрипт регистрации.... Выключить цпу и в адресе будет ответ какой файл смотреть. Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113051 Share on other sites Больше вариантов
30 сентября, 20168 yr comment_113052 Всё понятною При регистрации нужно отправлять такие данные в БД на сервер wow, т.е нужно изменить функцию регистрации и изменить данные sha1(strtoupper('логин:'.strtoupper('пароль')); Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113052 Share on other sites Больше вариантов
30 сентября, 20168 yr Author comment_113053 7 минут назад, greykoo сказал: Всё понятною При регистрации нужно отправлять такие данные в БД на сервер wow, т.е нужно изменить функцию регистрации и изменить данные sha1(strtoupper('логин:'.strtoupper('пароль')); Можно по подробнее? Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113053 Share on other sites Больше вариантов
30 сентября, 20168 yr comment_113067 Если моя теория верна - значит авторизация должна работать System -> Login Handlers->External Database Сам метод нужно включить и настроить его Настроить External Database Установить хак wowautch.xml Попробуй зайти из БД wow и тестируй только на тестовом сервере ибо тут не все функции заскрипчены , просто проверить нужно wowautch.xml Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113067 Share on other sites Больше вариантов
30 сентября, 20168 yr Author comment_113068 Сейчас попробую!) Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113068 Share on other sites Больше вариантов
30 сентября, 20168 yr Author comment_113072 Авторизация работает отлично, т.е. теперь можно с 2-х баз заходить!) Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113072 Share on other sites Больше вариантов
30 сентября, 20168 yr comment_113074 2 минуты назад, z8ToT8z сказал: Авторизация работает отлично, т.е. теперь можно с 2-х баз заходить!) Нужно так же еще сделать смену пароля и при регистрации отправлять в БД данные. Как время будет - сделаю Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113074 Share on other sites Больше вариантов
30 сентября, 20168 yr Author comment_113075 Теперь вся надежда на Вас greykoo! Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113075 Share on other sites Больше вариантов
30 сентября, 20168 yr comment_113078 2 часа назад, z8ToT8z сказал: Теперь вся надежда на Вас greykoo! Должно работать: регистрация. при этом данные должны подходить на сервере Смена пароля Авторизация (включая уже зареганые аккаунты на сервере ) Пробуй wowautch.xml wowautch.xml Отпишись о результатах. wowautch.xml Edited 30 сентября, 20168 yr by greykoo Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113078 Share on other sites Больше вариантов
1 октября, 20168 yr comment_113083 В IPB есть такая штука как синхронизация пользователей (MemberSync), она выполняется при определенных событий on%Event% и имеет в своем классе большинство событий для полноценной синхронизации пользователя с удаленной базой данных - onCreateAccount, onLogin, onDelete, onProfileUpdate и тд. Этот инструмент дает больше возможностей для управления. Правда, с паролем там небольшие проблемы, так как есть только изменяемые поля, но нету "чистого" пароля. Можно и с методом авторизации синхронизировать, с костылями для хеширования пароля, регистрация аккаунта на примере выше это получилось так WoW External Auth.xml WoW External Auth.xml Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113083 Share on other sites Больше вариантов
1 октября, 20168 yr Author comment_113084 13 минут назад, soka сказал: В IPB есть такая штука как синхронизация пользователей (MemberSync), она выполняется при определенных событий on%Event% и имеет в своем классе большинство событий для полноценной синхронизации пользователя с удаленной базой данных - onCreateAccount, onLogin, onDelete, onProfileUpdate и тд. Этот инструмент дает больше возможностей для управления. Правда, с паролем там небольшие проблемы, так как есть только изменяемые поля, но нету "чистого" пароля. Можно и с методом авторизации синхронизировать, с костылями для хеширования пароля, регистрация аккаунта на примере выше это получилось так WoW External Auth.xml WoW External Auth.xml Ну проблема уже решена. Огромное спасибо хочется выразить greykoo, если бы не он, я бы мучился долго, очень долго! Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113084 Share on other sites Больше вариантов
1 октября, 20168 yr comment_113085 8 минут назад, z8ToT8z сказал: Ну проблема уже решена. greykoo, это лучше заменить if( !empty( $_POST['auth'] ) ) { $username = $_POST['auth']; }else if( !empty( \IPS\Member::loggedIn()->name ) ) { $username = \IPS\Member::loggedIn()->name; } else { return null; } Иначе, если администратор сменит пароль пользователю из АЦ в получим в качестве username имя администратора. Да и при регистрации под вопросом, хотя не смотрел. Edited 1 октября, 20168 yr by soka Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113085 Share on other sites Больше вариантов
1 октября, 20168 yr comment_113086 soka, у меня при регистрации - чистое поле. Зачем заполнять пароль если IPS работает с другой БД Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113086 Share on other sites Больше вариантов
1 октября, 20168 yr comment_113087 Удаленная база это такое, сегодня она есть завтра ее нету. Паролю лучше быть, имхо. Да и сможет ли пользователь сменить себе пароль на форуме если его нету? По моему нет. Только на удаленной базе. А если администратора в АЦ форума сменит пароль пользователя, тогда в username хеша будет имя текущего авторизированого пользователя. Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113087 Share on other sites Больше вариантов
1 октября, 20168 yr comment_113088 soka, это вов сервер - ему жизненно необходимо иметь прямое взаимодействие - иначе ты потеряешь игрока. По этому нужно юзать удаленку и работать именно с ней. Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113088 Share on other sites Больше вариантов
1 октября, 20168 yr comment_113089 У вас функция смены пароля будет использовать имя текущего пользователя, еще раз обратите внимание, если администратор попытается сменить этому пользователю пароль в АЦ и при этом запустится changePassword он поломает ему пароль в удаленной базе. Это потенциальный баг. А наличия паролей в двух базах никоем образом не мешает "прямому взаймодействию". Если взамодействие жизнено важно нужно смотреть в другую сторону, а именно в memberSync. Edited 1 октября, 20168 yr by soka Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113089 Share on other sites Больше вариантов
1 октября, 20168 yr Author comment_113091 Хм, нужно проверить что и как будет... Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113091 Share on other sites Больше вариантов
1 октября, 20168 yr comment_113093 1 час назад, soka сказал: У вас функция смены пароля будет использовать имя текущего пользователя, еще раз обратите внимание, если администратор попытается сменить этому пользователю пароль в АЦ и при этом запустится changePassword он поломает ему пароль в удаленной базе. Это потенциальный баг. А наличия паролей в двух базах никоем образом не мешает "прямому взаймодействию". Если взамодействие жизнено важно нужно смотреть в другую сторону, а именно в memberSync. Я делал так как это делает IPS - то есть не стал добавлять пароли в базу. Взаимодействовать с БД нужно моментально ибо игроки не станут ждать пока аккаунт зарегается через какое-то там время , я уже об этом писал - это очень важно Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113093 Share on other sites Больше вариантов
1 октября, 20168 yr Author comment_113094 А если работать прикрепить к форуму модуль скажем личного кабинета для игрового сервера? Но конечно хотелось бы все реализовать на базе форума. Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113094 Share on other sites Больше вариантов
1 октября, 20168 yr comment_113095 z8ToT8z, в моем хаке работает смена пароля/авторизация и регистрация, а так же вход на сам сервер ? Ты проверил это всё? Link to comment https://ipbmafia.ru/topic/15337-registraciya-na-2-bazy/?&do=findComment&comment=113095 Share on other sites Больше вариантов
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.