C#Winform登陆模块防止简单SQL注入

最近在做一个项目,需要使用C#Winform+SQL Server进行开发。在Debug的时候发现登陆用户名中加上

就会绕过登陆验证,自动进入主界面。

 

登录模块代码:

由于此处是拼接的SQL语句,所以在用户名框内输入

就将把查询字符串变成下面的样子:

该双划符号“--”告诉SQL解析器,右边的东西全部是注释,所以不必理会。这样,查询字符串相当于:

然后就绕过了验证。

简单的防注入可以通过正则表达式来判断输入的值是否含有非法的字符串,代码如下:

当然,你也可以使用参数传递的方式防止SQL注入

抱歉,以上是WebForm防止SQL注入的方式。

可以试试以下的方法:

原理就是将代码中的字符串替换,可以根据需要进行删减。

0 条评论
发表一条评论