Jump to content
Sign in to follow this  
Graf

[LuaSQL]Смена ника

Recommended Posts

 [LuaSQL]Смена ника

Недавно было скучно и решил потестировать lua_sql.

Оказалось ничего сложного. И правда sql запросы..

Вот пример, как с помощью чат-команды можно реализовать смену ника персонажа.

elseif(string.find(message, "/changename") == 1) then
		-- Разбиваем строку по пробелам --
		local msg = explode(" ", message)
		local New_Name = msg[2] --Берем новый ник
		local NameCha = GetChaDefaultName(role)
		local Connect, ConnectID = LuaSQL("connect", SQL.GameDB.Host, SQL.GameDB.User, SQL.GameDB.Password)
		local String = "UPDATE GameDB.dbo.character SET cha_name = '"..New_Name.."' WHERE cha_name = '"..NameCha.."'"
		local Success, Query = LuaSQL("query", ConnectID, String)
		if Success == SQL_SUCCESS_WITH_INFO then
			--SystemNotice(role, "Поздравляем! Ваш новый ник - "..New_Name.."!")
			PopupNotice(role, "\207\238\231\228\240\224\226\235\255\229\236! \194\224\248 \237\238\226\251\233 \237\232\234 - "..New_Name.."!")
		else
			--SystemNotice(role, "Ошибка №5. Сообщите администрации.")
			PopupNotice(role, "\206\248\232\225\234\224 №5. \209\238\238\225\249\232\242\229 \224\228\236\232\237\232\241\242\240\224\246\232\232.")
		end
		return 0

Вот видео, как оно работает

Спойлер

 

 

  • Thanks 1

Share this post


Link to post
Share on other sites
1 час назад, patrick13 сказал:

Вполне вероятно, что эта функция уязвима к инъекциям, проверял?

Нет, не умею их делать. 

Share this post


Link to post
Share on other sites

Спасибо за информацию.

У меня есть убедительная просьба, к сожалению писать не могу в лс.

Кто может быть наставником и разобраться во всем этом?

Имеются только Азы. Когда то совместно держали сервер. Сейчас держу его один в стадии разработки. Идей и планов куча, навыков и возможностей не хватает.

Буду рад, если кто то проинструктирует и откликнется на смс.

Спасибо за внимание.

Share this post


Link to post
Share on other sites
On 9/5/2020 at 12:16 PM, Graf said:

Нет, не умею их делать. 

К примеру, если игрок отправит в местный чат команду:

Quote

/changename ';--

То это приведет к выполнению следующего SQL-запроса:

UPDATE GameDB.dbo.character SET cha_name = '';--' WHERE cha_name = 'Граф'

В результате у всех персонажей в игре сотрутся имена.

  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...