golang 正则过滤sql注入的方法
该方法返回的是一个bool值
package main import "regexp" import "fmt" // 正则过滤sql注入的方法 // 参数 : 要匹配的语句 func FilteredSQLInject(to_match_str string) bool { //过滤 ‘ //ORACLE 注解 -- /**/ //关键字过滤 update ,delete // 正则的字符串, 不能用 " " 因为" "里面的内容会转义,?i表示不区分大小写 str := `(?i)(?:')|(?:--)|(?:#)|(/\\*(?:.|[\\n\\r])*?\\*/)|(\b(select|update|and|or|delete|insert|trancate|char|chr|into|substr|ascii|declare|exec|count|master|into|drop|execute)\b)` re, err := regexp.Compile(str) if err != nil { panic(err.Error()) return false } return re.MatchString(to_match_str) } func main() { fmt.Println(FilteredSQLInject("Hello world!")) // false }