Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Проверка Логина и пароля через MySQL (C#)
#11
Проще сделать как PROGRAMMATOR подсказал и не усложнять себе жизнь.
Ответ
#12
Ну окей,я сделаю так=)

Добавлено через 45 секунд
Осталось понять как))
Ответ
#13
Hennesy Написал:Ну окей,я сделаю так=)

Добавлено через 45 секунд
Осталось понять как))

Если делать, как говорил PROGRAMMATOR, то требуется писать скрипт на PHP/ASP/JSP/еще_какой_то_веб_язык, при этом алгоритм работы скрипта прост до невозможности: подключаемся к БД, делаем реквест по имени пользователя и сравниваем хеши паролей, ну и формируем ответ для клиента, в данном случае это у нас лаунчер на шарпах.
Способ с запросом у логин-сервера сложнее, но тоже вполне реальный, к тому же их аж два:
1. Эмулируем клиент до шага авторизации, после этого отключаемся от логин-сервера. Таким образом нам не надо соваться в исходники сервера, но нам надо писать кучу кода в лаунчере.
2. Делаем отдельный пакет на серверной части для проверки авторизации, при этом, этот пакет идет, как ServerStatus/ProtocolRevision в l2j, т.е. он относительно статичен и ему не требуется пошаговое подключение клиента с разными проверками и плюшками.

Небольшая аналитика:
В первом случае (веб-запрос) нам в принципе не надо знать адрес сервера и другие важные фичи, мы просто формируем запрос и отсылаем его по адресу домена (который мы еще можем и изменить на другой сервер), т.е. этот способ самый безболезненный и требует минимум изменений при смене IP самого сервера, но при этом открывает большой простор для брутеров, что не есть good.
Во-втором случае, разберем пока первый вариант реализации, мы эмулируем клиент и тут забота о брутерах пропадает, ибо там уже все ложится на плечи системы защиты от брута сервера, но к сожалению нужно будет писать просто кучу кода на шарпах. Если смотреть по второму варианту, то тут нечто среднее между первым случаем и вторым случаем первого варианта (да-да, написал коряво, но я надеюсь, что понятно), в принципе на тот же пакет можно прикрутить защиту от брута и жить себе спокойно, припеваючи, при этом тонны кода просто напросто отпадают, но тут же возникает главная проблема всех вариантов второго случая: трудность со сменой IP-шников самого сервера, хотя и тут можно выкрутиться: завести поддомен на главном домене сервера и на него завязать адрес сервера Smile
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Ответ
#14
Проблему со сменой айпишника запросто решает функция самообновления в лаунчере.

По поводу брута в первом случае - можно дописать тот же PHP/JSP/какой_то_другой_скрипт для взаимодействия с отдельной таблицей в базе данных и поставить ограничения, типа после 5-го фейла банан на 10 минут. Имхо, далеко на этом не уедут.

P.S. Вы предлагаете написать пакет\эмулятор клиента человеку, который с синтаксисом толком не разобрался)
Ответ
#15
DoYrdenDzirt Написал:Проблему со сменой айпишника запросто решает функция самообновления в лаунчере.
А зачем лишний раз мучить себя функцией самообновления? Different файлы, бинарные патчи, буээ... Легче уж привязать адрес сервера к поддомену, хотя если уж так нужна функция самообновления, то не вопрос, но в топике не было об этом ни слова.


DoYrdenDzirt Написал:По поводу брута в первом случае - можно дописать тот же PHP/JSP/какой_то_другой_скрипт для взаимодействия с отдельной таблицей в базе данных и поставить ограничения, типа после 5-го фейла банан на 10 минут. Имхо, далеко на этом не уедут.
Ну с ограничением юзера на БД и так понятно, разве нормальный человек не будет ставить read-only права и только request select/join? Хмм... Запомню на будущее, что надо сильнее разжевывать Wink
Если писать такую систему для сайта на хостинге/ВДС, то я думаю, что ресурсов малька не хватит, особенно если по адресу будет ломиться хотя бы 1000 клиентов, что не есть good.


DoYrdenDzirt Написал:P.S. Вы предлагаете написать пакет\эмулятор клиента человеку, который с синтаксисом толком не разобрался)
Это уже проблема автора Smile Он просил совета, я его дал, а вот как он воспримет этот совет и как он его реализует, меня если честно мало интересует Wink

P.S: извиняюсь за черезмерное цитирование
P.P.S: не ожидал увидеть тут поклонника Сальваторе Wink
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Ответ
#16
Подскажите мне просто способ проверки логина и пароля и все
Ответ
#17
ASevenfold Написал:Ну с ограничением юзера на БД и так понятно, разве нормальный человек не будет ставить read-only права и только request select/join? Хмм... Запомню на будущее, что надо сильнее разжевывать Wink
Не, ну с ограничением юзера и так понятно) Под ограничениями я имел ввиду количество возможных попыток сверить пароль за определенный промежуток времени)

ASevenfold Написал:Если писать такую систему для сайта на хостинге/ВДС, то я думаю, что ресурсов малька не хватит
Печалька Sad

ASevenfold Написал:P.P.S: не ожидал увидеть тут поклонника Сальваторе Wink
О да) Сальваторе - наше все)

Hennesy Написал:Подскажите мне просто способ проверки логина и пароля и все
Уже предложили несколько вариантов. Или ты хочешь чтобы за тебя написали?
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Почему никто не может подключиться через мой внешний статический ip адрес? Mails 7 293,778 03-03-2012, 08:14 PM
Последний пост: DoYrdenDzirt
  Выкидывает с зареганого логина Ajax52 4 3,320 06-29-2011, 11:13 PM
Последний пост: Ajax52
  Непалучаеться прикрепить два гейм сервера через один логин сервер rescence 5 4,644 03-23-2011, 08:57 AM
Последний пост: HeY
  удалённый mysql lancelotxzx 3 2,467 09-06-2010, 06:12 AM
Последний пост: Shamanidze
  Помогите разобраться с MySQL Nemesis 3 5,744 07-04-2010, 01:37 PM
Последний пост: Nemesis
  Задний Фон при воде логина и паса kolovratt 2 2,651 06-21-2010, 03:57 PM
Последний пост: kolovratt

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)