function SetLastCharacter(source, charid)
MySQLAsyncExecute("UPDATE `user_lastcharacter` SET `charid` = '"..charid.."' WHERE `steamid` = '"..GetPlayerIdentifiers(source)[1].."'")
end
这是易受攻击的代码,我仍然需要能够使用脚本,但是我需要修复此问题,将不胜感激。
只需将文本中的每个单引号和反斜杠加倍:
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
您需要参数化和清理输入。