Regex.Replace 通过正则表达式替换
各位大侠们,帮帮小弟吧。我现在想做一个防SQL注入的页面 需要过滤 and 等关键字,
像acband、andabc、avandc的不需要过滤替换,只要 and 前后不是字符,数字和下划线的 都要给AND直接替换掉。该如何实现呢?
private static string sqlFileterStr = "delete|drop|select|null|where|@@|#|$|max|sysadmin|db_owner|db_name|cmdshell|" +
"'|;|and|or|exec|insert|update|=|count|%|chr|mid|master|truncate|char|declare|" +
"--|net user|xp_cmdshell|/add|exec master.dbo.xp_cmdshell|net localgroup administrators|asc|''|from|";
private static string FilterString(string badString, string content)
{
Regex objRegex = new Regex(badString, RegexOptions.IgnoreCase);
content = objRegex.Replace(content, "");
return content;
}
我现在的代码是这样写的,只要发现关键字就会被替换。我想要的效果是当关键字前后不是数字,下划线,字符的才被替换。