golang 正则过滤sql注入的方法

该方法返回的是一个bool值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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
}

  

posted @   tochenwei  阅读(124)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示