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
}
浙公网安备 33010602011771号