amxx bans:
input name: <tex't> ~ text
mysql output: <tex't> ~ text
output: ~ text'><tex't> ~ text
kas liecia input/output del amxx bans nesu tikras
taip pat client'a uzbaninau 1min, nors kai ateini po ban'o i serveri raso 8 min 40sec left, stabili naujausia versija 6.0.3, galit patys isbandyti idomu kokie bus rezultatai.
o dabar pereikim prie mano sistemos
Code: Select all
// Twice as long as name (100 * 2 + zero terminator) in case all 100 characters are insecure#define SECURE_NAME_LEN 100 * 2 + 1 get_secure_name(const name[]) { // credits goes to hlev for idea, took few hex codes from amxx bans, rest mine new secure_name[SECURE_NAME_LEN] copy(secure_name, charsmax(secure_name), name) replace_all(secure_name, charsmax(secure_name), "\", "\\") replace_all(secure_name, charsmax(secure_name), "\\", "\\\\") replace_all(secure_name, charsmax(secure_name), "`", "\`") replace_all(secure_name, charsmax(secure_name), "'", "\'") replace_all(secure_name, charsmax(secure_name), "^"", "\^"") replace_all(secure_name, charsmax(secure_name), "*", "\*") replace_all(secure_name, charsmax(secure_name), "\x1a", "\Z") replace_all(secure_name, charsmax(secure_name), "\0", "\\0") replace_all(secure_name, charsmax(secure_name), "\n", "\\n") replace_all(secure_name, charsmax(secure_name), "\r", "\\r") replace_all(secure_name, charsmax(secure_name), ";", "\;") replace_all(secure_name, charsmax(secure_name), ">", "\>") replace_all(secure_name, charsmax(secure_name), "~", "\~") replace_all(secure_name, charsmax(secure_name), "<", "\") replace_all(secure_name, charsmax(secure_name), "#", "\#") replace_all(secure_name, charsmax(secure_name), "%", "\%") replace_all(secure_name, charsmax(secure_name), "_", "\_") return secure_name}
input: <text'>~text
output: ~text
input: ~<text*text's>~ text
output: ~~ text
taip pat paciam query vietoje '%s' naudoju ^"%s^"
su mano sistema problemu su laiku nera kaip amxx bans iskyrus client'o name yra gaunamas netoks koks turetu buti, any ideas?