c#客户端防止SQL注入

来源:互联网 发布:淘宝买家付款钱在哪里? 编辑:程序博客网 时间:2024/06/01 10:23

在我们做编程的时候,尤其是在和数据库有关的软件,我们一定注意到数据库的安全问题。我们一定要注意到数据库的安全问题。一定要防止到SQL注入的问题SQL注入是什么?

SQL注入,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。

SQL注入是一个很危险的,他可以忽略你的密码,直接盗用你的数据库信息。从而使信息暴露。我们一定要注意防范这种问题。

我给大家简单举个例子:

所用软件 c#和acces简单数据库

这是acces数据表的内容

我们在看一下c#的源码:

string str ="select count(*) from [user] where UserName='" +txtUserName.Text.Trim()+ "' and PassWord='" + txtPassWord.Text.Trim()+"'and Type='" + cmbTyp + "'";


这个是我们初学常用的SQL语句,也是最容易被突破的SQL语句。

现在看看我们的SQL注入的语句

'or'='or'

'or''='

'or ''='

" or"a"="a

这是简单的几个注入语句

我们来测试一下:我们用'or'='or'这个注入语句来测试:


我们用user这个用户来登录按常理来说密码应该输入456才能进入主界面,但是我们用’or’=’or’也就可以进去了。因为他直接就把我们的SQL给更改了

我们如何才能防范这种问题:

目前应用最多的sql语句参数化,可以有效的防范注入,保护我们的信息。

参数化sql语句?设计与数据库链接并访问数据时,在需要填入数值或数据的地方,使用参数 (Parameter) 来给值。

来看我们参数化以后的代码


代码修改成这样就可以在一定的sql注入。


0 0
原创粉丝点击