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

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

Фикс Авторизация через AuthMe для WebMCR 2.*

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем proxwian, 11 авг 2013.

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

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

    Баллы:
    103
    Т.к. в последней версии WebMCR не работает авторизация через AuthMe в ЛК, то я решил переделать систему авторизации и сделать так, чтобы игроки, которые уже регистрировались на сервере, могли авторизовываться в ЛК без смены пароля.

    Внимание! Я еще не сделал нормальную регистрацию через ЛК (скрипт написан на скорую руку, но на практике уже применяется). Поэтому с этим типом шифровки игроки смогут регистрироваться только через сервер

    UPD: Доделал создание пароля (регистрацию и смену пароля на сайте), теперь скрипт полностью рабочий

    Установка:
    1. Нужен выбранный при установке тип шифрования AuthMe
    2. Кладём файл authme.php в папку /instruments/auth
    3. В конфиге authMe выбираем тип шифрования - SHA256
    Выложил, т.к. видел подобную проблему у kostik22007, Schokkie и других

     
    NC22 и DIMASIK1502 нравится это.
  2. DIMASIK1502

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

    Баллы:
    78
    Имя в Minecraft:
    DIMASIK1502
    Спасибо,хоть я и не пользуюсь WebMCR.
     
  3. The_Luuzzi

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

    Баллы:
    103
    странно,у меня и без этого работает.
     
    DavidShabaev и slavik123123123 нравится это.
  4. alexandrage

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

    Баллы:
    173
    К чему все это? AuthMe поддерживает md5 хеширование паролей.
     
    The_Luuzzi нравится это.
  5. Автор темы
    proxwian

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

    Баллы:
    103
    У меня не работала авторизация даже с md5. При регистрации через сервер ЛК не воспринимал пароли AuthMe и приходилось регистрироваться через ЛК, а это жутко не удобно
    Сам NC22 подтвердил это

    Вот я и реализовал :)
    UPD: Доделал создание пароля (регистрацию и смену пароля на сайте), теперь скрипт полностью рабочий
    UPD: Исправил баг с генерацией нового пароля при сбросе
     
  6. NC22

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

    Баллы:
    153
    Имя в Minecraft:
    NC22
    @proxwian,
    Не совсем то имелось ввиду. По описанию AuthMe может работать с шифровкой xAuth, она и была реализована изначально.
    Т.е. можно было поменять в конфиге AuthMe эту настройку и все. Но полезно поддержать все варианты т.к. у кого-то может быть существующая БД и тип шифрования уже поменять нельзя.
    Ты раньше работал с AuthMe? Не подскажешь от версии к версии какой тип шифрования в AuthMe стоит обычно по умолчанию в конфиге?
     
  7. Автор темы
    proxwian

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

    Баллы:
    103
    SHA256 вроде как. И да, с xAuth эта проблема не решилась, пришлось писать своё
     
  8. alexandrage

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

    Баллы:
    173
    Так оно и есть, по умолчанию выставлено.
    security:
    minPasswordLength: 4
    unLoggedinGroup: ''
    passwordHash: SHA256
    passwordMaxLength: 20
    Изменяем на md5 и не паримся с изобретением велосипеда :) .
    Хотя там и изобретать то нечего hash('sha256', $password)
     
  9. Автор темы
    proxwian

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

    Баллы:
    103
    ты, похоже, совсем ничего не понял. По дефолту в WebMCR не пашет хэширование/де-хэширование паролей AuthMe. Можешь сам проверить
     
    slavik123123123 нравится это.
  10. Автор темы
    proxwian

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

    Баллы:
    103
    со стандартным хэшированием в WebMCR нужно было обязательно регистрироваться только через сайт (пароль создавался неверно), а с моим исправленным вариантом можно сделать регистрацию и смену пароля как на сайте, так и на сервере
     
  11. HoShiMin

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

    Баллы:
    173
    Просветите, пожалуйста, дремучего - что такое AuthMe в принципе? Хочу написать открытый лаунчер для серверов на объектном паскале в Delphi с защитой на основе моего Периметра, но всё упирается в авторизацию: в каком виде отправлять авторизационный POST-запрос, чтобы пользователям не пришлось менять своих скриптов? Судя по всему, AuthMe использует большинство администраторов: много где встречал это название, но не нашёл (или искал не там) документации по процессу авторизации с помощью этой системы.
     
  12. Автор темы
    proxwian

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

    Баллы:
    103
    AuthMe - плагин авторизации для серверов. Для лаунчера он не нужен. Система шифра и де-шифра для AuthMe полностью реализована в моем AuthMe.php (скачать можно в первом посте)
     
    ВремяПриключений и HoShiMin нравится это.
  13. NC22

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

    Баллы:
    153
    Имя в Minecraft:
    NC22
    @HoShiMin,
    Дополнительная защита это всегда хорошо. Но основная задача лаунчера - выкачивать актуальные версии, первоначальная валидация пользователя; защита это клиент + сервер. Лаучнер будет взломан \ преодолен в обход - удаленный пользователь сам себе хозяин.
    AuthMe это внутриигровая система авторизации. Есть возможность связать с web сервером, что здесь и было частично сделано. ( для использования единых аккаунтов на сайте и в игре) . Авторизация в лаунчере в таком случае обычно не требуется. Для взаимодействия с лаунчером в любом случае будут доступны системные скрипты указанные здесь
    Протокол соответствует протоколу авторизации MC ниже версии 1.6, а именно

    POST запрос auth.php - (string) user, (string) password, (int) version
    Success: GAME_BUILD:depricated:USER_NAME:SESSION_ID:
    Fail: Old vesion или Bad login

    А вот сохранение сессии для AuthMe не реализовано ( SESSION_ID в данном случае это поле в БД которое не к чему не привязано и используется для стандартной авторизации MC ). Так что если же все таки хочется авторизации через лаунчер, и чтобы не пришлось авторизоваться повторно в игре, нужно изучить протокол AuthMe и поинтересоваться как можно создать и поддерживать сессию после авторизации в лаунчере.
     
    HoShiMin нравится это.
  14. ykpon

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

    Баллы:
    173
    Автор, где же ты был раньше, в то время, когда я курил маны по sha256 authme ))
    Точно так же пришлось понимать алгоритм шифрования sha2(sha256) в плагине, ибо он отличается от всем известного sha256.
    Даже в вики плагина алгоритм неверный.
    з.ы. мд5 не использую в целях соображения безопасности.
     
  15. Quinn

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

    Баллы:
    66
    Файлик у кого-т остался? Ибо на ргхосте он уже прострочился...
     

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