asp.net(C#)匹配正则表达,替换所有特殊符号,防止sql注入
stringval=this.search_text.Value;stringr=Regex.Replace(val,@(),"");做的是一个站内搜索功能...
string val = this.search_text.Value;
string r = Regex.Replace(val, @(), "");
做的是一个站内搜索功能 展开
string r = Regex.Replace(val, @(), "");
做的是一个站内搜索功能 展开
1个回答
展开全部
防止sql注入,最简单的办法就是不要拼接sql,而是采用SqlParameter参数化形式,如果条件可能有可能没有,可以采用:
string sql = "select * from xx where 1=1";
if(true){
sql += " and id=@id";
command.Parameters.Add(new SqlParameter
}
如果非要拼接sql,那么对于数值型,拼接前判断下是否数值,
字符串类型拼接前进行str.Replace("'", "''");// 把一个单引号替换为两个单引号
就可以避免sql注入了
你用正则,效率低,而且成效也不见得好
string sql = "select * from xx where 1=1";
if(true){
sql += " and id=@id";
command.Parameters.Add(new SqlParameter
}
如果非要拼接sql,那么对于数值型,拼接前判断下是否数值,
字符串类型拼接前进行str.Replace("'", "''");// 把一个单引号替换为两个单引号
就可以避免sql注入了
你用正则,效率低,而且成效也不见得好
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询