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

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

proxwian

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

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

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

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

​
​
 
К чему все это? AuthMe поддерживает md5 хеширование паролей.

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

@proxwian, Совместимость с AuthMe работает только в режиме шифрования xAuth, полная поддержка алгоритмов в соответствии с возможностями AuthMe не реализована ( можно реализовать свой алгоритм в файле instruments/auth/authme.php , функции createPass и checkPass ) . В 2.15 забыл это указать.

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

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


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

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

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

ты, похоже, совсем ничего не понял. По дефолту в WebMCR не пашет хэширование/де-хэширование паролей AuthMe. Можешь сам проверить
 
Может если указать md5.

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

AuthMe - плагин авторизации для серверов. Для лаунчера он не нужен. Система шифра и де-шифра для AuthMe полностью реализована в моем AuthMe.php (скачать можно в первом посте)
 
@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 и поинтересоваться как можно создать и поддерживать сессию после авторизации в лаунчере.
 
Автор, где же ты был раньше, в то время, когда я курил маны по sha256 authme ))
Точно так же пришлось понимать алгоритм шифрования sha2(sha256) в плагине, ибо он отличается от всем известного sha256.
Даже в вики плагина алгоритм неверный.
з.ы. мд5 не использую в целях соображения безопасности.
 
Файлик у кого-т остался? Ибо на ргхосте он уже прострочился...
 

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

Назад
Верх