[FilterScript] [FS] MySQL Register System by ZiGGi
#1

Простая система регистрации с использованием MySQL. В начале разработки этого FS, цель была научиться работать с MySQL в SA-MP, позже выложил этот FS, чтобы русскому разделу на этом форуме дали отдельный раздел для релизов(тогда ещё немного скриптов не хватало).

Описание:
Система регистрации с использованием MySQL
Используемый MySQL плагин: MySQL Plugin by BlueG (R7)
Диалог регистрации представлен в виде диалоговых форм
Используются PVar'ы
В скрипте есть команда /stats со статистикой денег, убийств и смертей
Скачать:
Посмотреть pwn файл на Pastebin
Скачать весь пакет (pwn, amx, a_mysql.inc, mysql.dll, mysql.so, libmysql.dll, libmysqlclient.so.15, base.sql)
Reply
#2

Здорово!
Только зачем там OnPlayerCommandText и собственно команда /stats? =)
Reply
#3

Quote:
Originally Posted by Aphex
Здорово!
Только зачем там OnPlayerCommandText и собственно команда /stats? =)
для теста
Reply
#4

Я там в скрипте одного не понял, где обновляется статистика и данные профиля? Вижу что MySQL_Player_Update(playerid)
Но он используется только в OnPlayerDisconnect
Reply
#5

кхем, а нах использовать стркат?! чем тебе такой вариант не подходит:

Code:
format(query, sizeof(query), "UPDATE `"PlayerTable"` SET `Money`='%d', `Kills`='%d', `Deaths`='%d' WHERE `Name`='%s'", PlayerInfo[playerid][pCash], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], GetPlayerName(playerid));
samp_mysql_query(query);
Reply
#6

Quote:
Originally Posted by BaRRyS3R
кхем, а нах использовать стркат?! чем тебе такой вариант не подходит:

Code:
format(query, sizeof(query), "UPDATE `"PlayerTable"` SET `Money`='%d', `Kills`='%d', `Deaths`='%d' WHERE `Name`='%s'", PlayerInfo[playerid][pCash], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], GetPlayerName(playerid));
samp_mysql_query(query);
а потом, выйдет строка на 8 метров и будет довольно неудобно

Quote:
Originally Posted by CrunkBankS
Я там в скрипте одного не понял, где обновляется статистика и данные профиля? Вижу что MySQL_Player_Update(playerid)
Но он используется только в OnPlayerDisconnect
В смысле обновляется?
MySQL_Player_Update(playerid) сохраняет данные игрока в базу, где ему ещё использоваться кроме OnPlayerDisconnect? Только сделать авто-сохранение игрока раз в N минут...
Reply
#7

Найс система, использовал ее для своего сервера, правда пришлось кое-что переработать, но это не важно...
Трабл только один, т.к. мускул игнорит регистр, то можно авторизироваться как под "pass", так и под "pAsS". Кто будет юзать - возьмите на заметку.
Reply
#8

Кто ж в открытом виде хранит пароли.

`Password` = sha1('%s')
Reply
#9

Quote:
Originally Posted by Fro1sha
View Post
Кто ж в открытом виде хранит пароли.

`Password` = sha1('%s')
Кому надо, тот зашифрует, делов то на минуту. Просто всё-равно дешифровать можно, поэтому я не ставил шифровку
upd: добавил сюда новую версию
Reply
#10

Quote:
Originally Posted by Fro1sha
View Post
Кто ж в открытом виде хранит пароли.

`Password` = sha1('%s')
Ну я просто подметил неточность, а так кому надо - тот зашифрует
Reply
#11

Можете обьяснит что такое вообще MySQL ?
Для чего он в samp?
И в чем разлие между простым сервером и вот этим MySQL
Reply
#12

MySQL - система управления базами данных (СУБД), в сампе обычно используется для создания БД аккаунтов (заместо текстовых акков). Она удобна и довольно быстрая, что и дает ей приемущество над обычными системами.
Вообще, советую держать сервер с мускулом, довольно удобно и практично. Да и на познание синтаксиса MySQL у меня ушло менее месяца.
Reply
#13

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

Единственный плюс шифровки пароля в том, что если это пароль юзается в других приложениях.
Reply
#14

Quote:
Originally Posted by DANGER1979
View Post
Если человек получит доступ к базе, то тут ни какие зашифрованные пароли не помогут, т.к. он сможет сразу изменить тот параметр что ему надо или заменить пароль или создать новый аккаунт с параметрами теми что ему надо.

Единственный плюс шифровки пароля в том, что если это пароль юзается в других приложениях.
но можно каждый параметр зашифровать разными алгоритмами, вот тогда будет по сложнее))
Reply
#15

спасибо))
Reply
#16

Quote:
Originally Posted by DANGER1979
View Post
Если человек получит доступ к базе, то тут ни какие зашифрованные пароли не помогут, т.к. он сможет сразу изменить тот параметр что ему надо или заменить пароль или создать новый аккаунт с параметрами теми что ему надо.

Единственный плюс шифровки пароля в том, что если это пароль юзается в других приложениях.
шифруем столбцы в MD5 и вуаля.
Reply
#17

Johnny_Xayc мда, мозгов явно не хватает, md5 расшифровываетcя, как нехрена делать >_<
Reply
#18

Quote:
Originally Posted by toneysix
View Post
Johnny_Xayc мда, мозгов явно не хватает, md5 расшифровываетcя, как нехрена делать >_<
MySQL знает не только про md5
Reply
#19

Quote:
Originally Posted by toneysix
View Post
md5 расшифровываетcя, как нехрена делать >_<
А ты продемонстрируй. Вот тебе md5: 4c5fdb15602d493dea716e3e83127d49
Или ты просто пустослов?

PS: Хеширование и шифрация вещи разные
Reply
#20

dimonml у меня нет времени , чтобы мерятся с тобою письками, если хочешь расшифровать введи в гугле md5 cracking, там думаю сам разберешься куда тебе идти, а разбирать глупость, которую ты там написал или что-то в этом роде я не собираюсь, а кому надо расшифровать, тот сможет без проблем, правда денек помучится
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)