Перейти к содержанию

Авторизация в другом приложении через MySQL


Рекомендуемые сообщения

Можно ли как нибудь сделать авторизацию через MySQL?

Мне к примеру нужно сделать авторизацию в лаунчере Minecraft через MySQL.

Или только можно через REST API?

Ссылка на комментарий
Поделиться на другие сайты

Можно читать данные из таблицы core_members

Ссылка на комментарий
Поделиться на другие сайты

23 минуты назад, DLab сказал:

Можно читать данные из таблицы core_members

Пробовал, но увы ошибку выдавало.

Сам код, который использовал:

# Auth provider
authProvider: "mysql";
authProviderConfig: {
	message: "You need to change auth provider in LaunchServer.cfg";
	address: "Адресс"; # Адрес MySQL-сервера
port: 3306; # Порт MySQL-сервера (по умолчанию 3306)
username: "Юзер БД"; # Имя пользователя MySQL-сервера
password: "Пароль юзера"; # Пароль пользователя
database: "БД"; # База данных

query: "SELECT name FROM core_members WHERE (email=? OR name=?) AND member_pass_hash=MD5(MD5(?)) LIMIT 1"; # Запрос. Он должен быть
SELECT и возвращать имя пользователя в правильном регистре. ? заменяются на параметры ниже:
queryParams: [ "%login%", "%login%", "%password%" ]; # Параметры к запросу. %login% и %password% заменяются на имя
пользователя и пароль соответственно
	
};

 

Хотя я не совсем понял, где именно IPS хранит пароли пользователей и как именно...

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, xpuska513 сказал:

Пробовал, но увы ошибку выдавало.

Сам код, который использовал:


# Auth provider
authProvider: "mysql";
authProviderConfig: {
	message: "You need to change auth provider in LaunchServer.cfg";
	address: "Адресс"; # Адрес MySQL-сервера
port: 3306; # Порт MySQL-сервера (по умолчанию 3306)
username: "Юзер БД"; # Имя пользователя MySQL-сервера
password: "Пароль юзера"; # Пароль пользователя
database: "БД"; # База данных

query: "SELECT name FROM core_members WHERE (email=? OR name=?) AND member_pass_hash=MD5(MD5(?)) LIMIT 1"; # Запрос. Он должен быть
SELECT и возвращать имя пользователя в правильном регистре. ? заменяются на параметры ниже:
queryParams: [ "%login%", "%login%", "%password%" ]; # Параметры к запросу. %login% и %password% заменяются на имя
пользователя и пароль соответственно
	
};

 

Хотя я не совсем понял, где именно IPS хранит пароли пользователей и как именно...

В базе не хранятся пароли. Там хранятся их контрольные суммы - хеши. Когда мы вводим пароль, он конвертируется в хеш и сверяется с БД.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, DLab сказал:

В базе не хранятся пароли. Там хранятся их контрольные суммы - хеши. Когда мы вводим пароль, он конвертируется в хеш и сверяется с БД.

А как сам запрос правильно сгенерировать?

А то я не очень с MySQL.

И какой метод шифрования использует IPS?

Ибо это точно не MD5

Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...


    $filter = [
        'login' => filter_has_var(INPUT_POST, 'login')
            ? filter_input(INPUT_POST, 'login', FILTER_UNSAFE_RAW)
            : null,
        'password' => filter_has_var(INPUT_POST, 'password')
            ? filter_input(INPUT_POST, 'password', FILTER_UNSAFE_RAW)
            : null
    ];

$ext = $db->query("SELECT `member_id`, `members_pass_hash`, `members_pass_salt` FROM `core_members` WHERE `name` = '" . $filter['login'] . "'");
    
if ($ext->rowCount() != 0){
    $ext = $ext->fetch();
        if ($db->query("SELECT `member_id` FROM `core_members` WHERE `email` = '" . $filter['login'] . "' AND `members_pass_hash` = '" . crypt($filter['password'], '$2a$13$' . $ext['members_pass_salt']) . "'")->rowCount() == 0) 
            echo 'OK';
        else
            echo 'None';
}

Лучше через лаунчер к php скрипту обращатся.  И получать ответ от него. 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...