Răsfoiți Sursa

更新 target/utils.lua

1585346868 1 lună în urmă
părinte
comite
7b2f0dcc36
1 a modificat fișierele cu 16 adăugiri și 0 ștergeri
  1. 16 0
      target/utils.lua

+ 16 - 0
target/utils.lua

@@ -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