asp.net(C#)匹配正则表达,替换所有特殊符号,防止sql注入

stringval=this.search_text.Value;stringr=Regex.Replace(val,@(),"");做的是一个站内搜索功能... string val = this.search_text.Value;
string r = Regex.Replace(val, @(), "");
做的是一个站内搜索功能
展开
 我来答
youbl
2013-03-28 · TA获得超过2510个赞
知道大有可为答主
回答量:1844
采纳率:62%
帮助的人:1657万
展开全部
防止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注入了

你用正则,效率低,而且成效也不见得好
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式