这个正则表达式是什么意思啊
C# code
Regex r = new Regex(@"'.*'.*(Delete|Insert|Drop|Update|Create).*'.*'", RegexOptions.IgnoreCase);
Match m = r.Match(sqlStr);
看注释是 验证是否包含恶意执行语句
请问他能具体过滤什么呢?
这个在过滤长sql语句时很慢
有没有什么好的可以替代呢
谢谢啦
------解决方案--------------------'xxx'xxxDeletexxx'xxx'
'xxx'xxxInsertxxx'xxx'
'xxx'xxxUpdatexxx'xxx'
'xxx'xxxCreatexxx'xxx'
------解决方案--------------------
------解决方案--------------------
[RegexOptions.IgnoreCase]
忽略大小写
'.*'.*(Delete|Insert|Drop|Update|Create).*'.*'
' 字符'
.* 任意字符,无限次重复,贪婪匹配,尽可能多匹配
' 字符'
(Delete|Insert|Drop|Update|Create) 括号内的单词,任意一个,因为有属性描述忽略大小写,则此处不考虑大小写。
.* 任意字符,无线多次重复。
' 字符'
.* 任意字符,无线多次重复。
' 字符'
你贴的这个正则,实际上,写的不是很好,甚至可以说些的很烂,效率不高。与其这样检查
他们写的x表示任意字符,你既看不懂正则,又看不懂别人的示意,你说任意长度的字符,你让别人怎么描述呢?