|
|
@@ -342,4 +342,20 @@ M.array_equal = function(a, b)
|
|
|
|
|
|
return true
|
|
|
end
|
|
|
+-- 处理SQL注入(MySQL 字符串转义)
|
|
|
+M.escape_sql = function(str)
|
|
|
+ if str == nil then
|
|
|
+ return nil
|
|
|
+ end
|
|
|
+ str = tostring(str)
|
|
|
+ -- 必须先转义反斜杠,再处理其它特殊字符
|
|
|
+ str = string.gsub(str, "\\", "\\\\")
|
|
|
+ str = string.gsub(str, "\0", "\\0")
|
|
|
+ str = string.gsub(str, "\n", "\\n")
|
|
|
+ str = string.gsub(str, "\r", "\\r")
|
|
|
+ str = string.gsub(str, "'", "\\'")
|
|
|
+ str = string.gsub(str, '"', '\\"')
|
|
|
+ str = string.gsub(str, "\26", "\\Z") -- Ctrl-Z
|
|
|
+ return str
|
|
|
+end
|
|
|
return M
|