avatar_Pashka

Как избавиться от багов и дублированных аккаунтов в MU Online?

Автор Pashka, 2013 Май 11, 22:58

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] решение проблембаги mu onlineдублированные аккаунты

Pashka

Решил написать как я избавлялся от сего чуда =)
В общем ситуация такова: У меня на сервере ребятки за 2-3 минуты делали несколько ресов. Оказалось что проблема в дублированном логине. Т.е. в игру одновременно можно было зайти под логином "test" и "Test" или "TEST", и при этом спокойно накручивать ресы!

Избавился я таким путем:

Идем в меню "Пуск -> SQL Server -> Enterprise Manager -> Databases -> MuOnline -> Tables -> Character"

Жмем на таблицу "Character" правой кнопкой, выбираем "Design Table" нажимаем на "AccountID", далее жмем на "Collation", делаем все так как на скрине



Жмем "ОК"

То же самое делаем с полем "Name"

Жмем "ОК" и сохраняем.

Так же в таблице "MEMB_INFO" делаем то же самое с полем "memb___id" и сохраняем!

Готово!) На сервер больше нельзя зайти с дублированным логином!

А для тех у кого после всего проделанного на сайте можно регистрировать дублированные аккаунты (Например: Adadada и ADADADA) делаем следующее:

Открываем страницу регистрации (например: Register.php) и в поле с проверкой логина на занятость дописываем строку:  COLLATE Modern_Spanish_CI_AI

Для DEW:
        $sql_username_check    = $DB->Query("SELECT memb___id FROM MEMB_INFO WHERE memb___id='$login' COLLATE Modern_Spanish_CI_AI");
Для MMW:
$username_check = mssql_query("SELECT memb___id FROM MEMB_INFO WHERE memb___id='$account' COLLATE Modern_Spanish_CI_AI");
Может кому пригодится  :trollface:

С вас печеньки  :trololo:

NZK

Цитата: Pashka от 2013 Май 11, 21:58  
уже была тема по этому )
п.с. Pashka с инсания му? на 4-м сезоне играли.

я BOP если помнишь.

если да - оставь свои контакты - скайп, е-мейл )

f1x

Очень не хватает скринов.
Впрочем я тебе это уже говорил.

Ей богу, я без скринов ничего не смогу понять  
Оформи тему по людски для таких нубов как я :  


З.ы Модеры, перенесите в нужный раздел и закрепите.

Pashka

#3
Цитата: bespredeL от 2013 Май 11, 22:46  уже была тема по этому )
п.с. Pashka с инсания му? на 4-м сезоне играли.

я BOP если помнишь.

если да - оставь свои контакты - скайп, е-мейл )

Тема была но не до конца! Там было как избавиться в сервере, а насчет того, что на сайте можно регистрировать дублированные ники не написали как убрать....

П.С.: На инсания не играл)

[quote name='f1x']Очень не хватает скринов.
Впрочем я тебе это уже говорил.

Ей богу, я без скринов ничего не смогу понять
Оформи тему по людски для таких нубов как я :[/quote]

Смешно....

f1x

Цитата: Pashka от 2013 Май 11, 21:58  Решил написать как я избавлялся от сего чуда =)
В общем ситуация такова: У меня на сервере ребятки за 2-3 минуты делали несколько ресов. Оказалось что проблема в дублированном логине. Т.е. в игру одновременно можно было зайти под логином "test" и "Test" или "TEST", и при этом спокойно накручивать ресы!

Избавился я таким путем:

Идем в меню "Пуск -> SQL Server -> Enterprise Manager -> Databases -> MuOnline -> Tables -> Character"

Жмем на таблицу "Character" правой кнопкой, выбираем "Design Table" нажимаем на "AccountID", далее жмем на "Collation", делаем все так как на скрине



Жмем "ОК"

То же самое делаем с полем "Name"

Жмем "ОК" и сохраняем.

Так же в таблице "MEMB_INFO" делаем то же самое с полем "memb___id" и сохраняем!

Готово!) На сервер больше нельзя зайти с дублированным логином!

А для тех у кого после всего проделанного на сайте можно регистрировать дублированные аккаунты (Например: Adadada и ADADADA) делаем следующее:

Открываем страницу регистрации (например: Register.php) и в поле с проверкой логина на занятость дописываем строку:   COLLATE Modern_Spanish_CI_AI

Для DEW:
$sql_username_check = $DB->Query("SELECT memb___id FROM MEMB_INFO WHERE memb___id='$login' COLLATE Modern_Spanish_CI_AI");
Для MMW:
$username_check = mssql_query("SELECT memb___id FROM MEMB_INFO WHERE memb___id='$account' COLLATE Modern_Spanish_CI_AI");
Может кому пригодится  :trollface:

С вас печеньки  :trololo:
Выполнять нужно все, кроме
ЦитироватьТак же в таблице "MEMB_INFO" делаем то же самое с полем "memb___id" и сохраняем!

Готово!) На сервер больше нельзя зайти с дублированным логином!

Т.к сайт не отображает после этого онлайн. А значит можно напрямую рваться на сайт и что нибудь чудить.

Profesor08

Цитата: f1x от 2013 Май 21, 13:53  Выполнять нужно все, кроме


Т.к сайт не отображает после этого онлайн. А значит можно напрямую рваться на сайт и что нибудь чудить.
Это таблица к статистике онлайна не имеет отношения.

f1x

Цитата: Profesor08 от 2013 Май 21, 20:48  Это таблица к статистике онлайна не имеет отношения.
Да ладно, а может поспорим что после выполнения данной процедуры сайт не будет показывать акки онлайн ?
Я даже не поленюсь видео снять за пару литров пива :trollface:

Profesor08

Так может тогда надо и в memb_stat править.

f1x

Цитата: Profesor08 от 2013 Май 21, 21:00  Так может тогда надо и в memb_stat править.
Базу можно не трогать вообще по идеи.
Достаточно внести изменения в регистре сайта
$sql_username_check   = $DB->Query("SELECT memb___id FROM MEMB_INFO WHERE memb___id='$login' COLLATE Chinese_PRC_CI_AS");

Но конечно можно сделать все в базе, но нужно убрать с мемб_ид в настройке галочку с Case Sensitive

epmak

Добавлю, или коллейт содержащий в названии _CI_

Похожие темы (5)