正则表达式检测SQL注入的方法}(适应于简单文本,如用户名密码等)

5年以前  |  阅读数:2079 次  |  编程语言:Golang 
package SQL_inject

import "regexp"

// 正则过滤sql注入的方法
// 参数 : 要匹配的语句
func FilteredSQLInject(to_match_str string) bool {
    //过滤 ‘
    //ORACLE 注解 --  /**/
    //关键字过滤 update ,delete
    // 正则的字符串, 不能用 " " 因为" "里面的内容会转义
    str := `(?:')|(?:--)|(/\\*(?:.|[\\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)
}

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8