Sql уязвимый скрипт нуждается в исправлении - PullRequest
0 голосов
/ 16 января 2020
function SetLastCharacter(source, charid)
   MySQLAsyncExecute("UPDATE `user_lastcharacter` SET `charid` = '"..charid.."' WHERE `steamid` = '"..GetPlayerIdentifiers(source)[1].."'")
end

Это код, который уязвим. Мне нужно все еще иметь возможность использовать скрипт, но мне нужно это исправить, любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 17 января 2020

Просто удвойте каждую кавычку и обратный символ sh в тексте:

function SetLastCharacter(source, charid)
   charid = string.gsub(charid, "['\\]", "%0%0")
   local text = GetPlayerIdentifiers(source)[1]
   text = string.gsub(text, "['\\]", "%0%0")
   MySQLAsyncExecute("UPDATE `user_lastcharacter` SET `charid` = '"..charid.."' WHERE `steamid` = '"..text.."'")
end
0 голосов
/ 16 января 2020

Вам необходимо параметризовать и дезинфицировать ваши входные данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...