Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

xAuh + XenForo

Тема в разделе "[Архив] Помощь", создана пользователем sashok724, 5 окт 2011.

  1. Автор темы
    sashok724

    sashok724 Старожил Девелопер

    Баллы:
    123
    Как совместить базы даннных xAuth и XenForo (Чтобы после регистрации на форуме можно было авторизироваться в игре)?
     
    Likeobot и I-Am-Black-Overlord нравится это.
  2. Хостинг MineCraft
    <
  3. CLIV_MC

    CLIV_MC Активный участник

    Баллы:
    63
    Мб тут програмисты нужны.
     
  4. Komaric

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

    Баллы:
    88
    какие ещё программисты?
    мускл в помощь
     
    ВремяПриключений нравится это.
  5. Автор темы
    sashok724

    sashok724 Старожил Девелопер

    Баллы:
    123
    это понятно- проблема в том, что имена и пароли в разных таблицах.
     
  6. Выносной

    Выносной Старожил Переводчик Пользователь

    Баллы:
    153
    Skype:
    dj_okish_ekstra
    Имя в Minecraft:
    Vinosnoy
    А что тебе мешает указать в плагине таблицу от форума, чтобы И форум И плагин использовали одну таблицу, и мучиться не надо. Только резервную копию сделай.
     
    GJEvolution нравится это.
  7. Автор темы
    sashok724

    sashok724 Старожил Девелопер

    Баллы:
    123
    имена и пароли в разных
    таблицах. Имя юзера xenforo хранит в таблице xf_user, а пароль в xf_auth...
     
  8. Выносной

    Выносной Старожил Переводчик Пользователь

    Баллы:
    153
    Skype:
    dj_okish_ekstra
    Имя в Minecraft:
    Vinosnoy
    Укажи в плагине таблицу xf_user, но чтобы у тебя все рабортало, у тебя должны быть пароли в одинаковой зашифрованности (SHA1, MD5, SHA256 и тд).
    Еще раз повторюсь, сделай бэкап перед тем, как будешь это делать.
     
    sashok724 нравится это.
  9. Автор темы
    sashok724

    sashok724 Старожил Девелопер

    Баллы:
    123
    ПАРОЛИ В ДРУГОЙ ТАБЛИЦЕ!!!
     
    zuma2 нравится это.
  10. kosh

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

    Баллы:
    103
    Skype:
    ambassadorkosha
    ЧЕ ОРЕШЬ?
    Тебе же сказали - настрой xAuth так что бы он хранил пароли в xf_user
     
    sashok724 нравится это.
  11. trash0

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

    Баллы:
    63
    Присоединяюсь к вопросу! Мало того, что xenforo хранит логины в одной (xf_user) а пароли в другой таблице (xf_user_authenticate), так еще и хеш и соль зашифрованы через php serialize и записаны в данные таблицы в виде:
    Код:
    a:3:{s:4:"hash";s:64:"4d1cf48e512ce9d5379e5d9fa9903298f775a2d4aecc09fb7a222e34ba558026";s:4:"salt";s:64:"88beae1ebb9a57273ac91a133e1447dfd1c03cd0b42b2d983583ae38d8223050";s:8:"hashFunc";s:6:"sha256";}
    Единственный плагин который умеет делать аутентификацию пользователей через xenforo - это AuthDB . Но в данный момент в нем присутствует серьезная бага безопасности, поэтому очень нужен другой плагин в котором можно хотя-бы делать кастомный запрос в базу .....
     
    Сникерсни, klarnet и sashok724 нравится это.
  12. kosh

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

    Баллы:
    103
    Skype:
    ambassadorkosha
    по правилам соль не должна хешироваться.. только кодироваться (в очень редких случаях)
     
  13. trash0

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

    Баллы:
    63
    А кто говорил про то, что соль хешируется?
    И вообще причем тут хешируется или не хешуруется!?

    Вопрос в том как заставить работать xAuth с xen-foro а не в том как что должно кодироваться или хешироваться!
    Видимо заставить можно только лишь допиливанием xAuth-а поддержкой xenforo-вского способа хранения хеша и соли.
     
  14. cubespace

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

    Баллы:
    103
    А если создать скрипт, который при регистрации на форуме будет создавать юзера для xAuth!
    Можна использовать одну таблицу форума (логин) а пароль чтобы скрипт создавал уже под xAuth!
    и в итоге будет две таблице с паролем и одна с логином! и когда пользователь входит на форум то используется таблица логина и пароль форума в md5 а для игры используется другая таблица с паролем в другой кодировке
     
  15. Автор темы
    sashok724

    sashok724 Старожил Девелопер

    Баллы:
    123
    меня и authdb устраивает
     
  16. mukumause

    mukumause Старожил

    Баллы:
    103
    Для начала нужно переписать XenForo..
    Путем того, чтобы он записывал - читал из одной таблицы(логин и пасс), а так же кодировал в ту же кодировку, что и в xAuth
    Далее, просто настраиваем(таблицы и тп) в xAuth
    мм, думаю PROFIT!!!
     
  17. trash0

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

    Баллы:
    63
    Все намного проще :) У xAuth есть замечательная возможность авторизации по URL. Пишем обычный php-враппер который проверяет авторизацию XenForo и натравливаем xAuth на этот php-враппер :)

    Проверено - работает отлично:)

    P.S. Этот враппер можно заточить под абсолютно любой форум ! и вообще под что угодно :)
     
    RVXman нравится это.
  18. cubespace

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

    Баллы:
    103
    Сможешь сделать под
    xAuh + XenForo ?
     
  19. Zordius

    Zordius Активный участник

    Баллы:
    63
    гыы)) зачем идти через плагин если можно сделать с мускулом одну забавную вещь)
    переписываем таблицу xf_user_authenticate, а точнее добавляем в ней колонки ip и lastlogin
    открываем консоль нашей мускулутары, и бьем этот код:
    CREATE VIEW xauth_minecraft_users AS SELECT user_id, username, ip, lastlogin, data FROM xf_user INNER JOIN xf_user_authenticate USING (user_id)
    А потом в конфиге нашего плагина пишем данные что все в той то базе (где у вас там сайт стоит), в таблице xauth_minecraft_users, юзеры в колонке username, ип в колонке ip, ластлогин в колонке lastlogin, и пароль в колонке data.. Эм.. вроде должно запилить)

    Извиняюсь если не прав, точил под плагин authme
     
    RVXman нравится это.
  20. trash0

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

    Баллы:
    63
    И как же ты будешь проверять пароль? Он ведь хранится в ксенфоро как сериализованный массив php! средствами mysql ты не сможешь сделать unserialize.
     
  21. Zordius

    Zordius Активный участник

    Баллы:
    63
    library\XenForo\Authentication\Core.php файл с классом для хеширования пароля.. Предлагаю вот тут:
    protected function _newPassword($password, $salt)
    {
    $hash = $this->_createHash($this->_createHash($password) . $salt);
    return array('hash' => $hash, 'salt' => $salt, 'hashFunc' => $this->_hashFunc);
    }

    вписать сохранялку пароля md5 хешем и отправим в отдельную колонку в бд

    что нить типо этого:
    $passhash123=md5($password);
    $header123=mysqli_connect('localhost', 'username', 'password', 'site_db');
    $query123="INSERT INTO `xf_user_authenticate`(`passhash`) VALUES ($passhash123) WHERE `user_id` = $userId";
    $result123=mysql_query($header123, $query123);
    mysqli_close($header123);
     

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