0

我将在 asp.net 页面中使用一个选择,即:

string name=TexBox1.Text;
string pas=TextBox2.Text;
string c="select * from users where name='"+name+"' and password ='"+pas+"'";

是否有任何方法可以防止 sql 注入。

4

1 回答 1

0

首先,您必须验证代码中的输入数据,然后像参数一样使用它。因为如果发生未处理的异常并且您返回诸如“连接字符串”之类的敏感数据,您将提供有用的信息,例如“列”和“表”名称那很危险。其次,添加“数据访问层”来处理不在“代码隐藏”中的代码。您可以使用“存储过程”并从代码中调用它们,使用这种方式可以隐藏编程逻辑的查询,只将参数传递给存储过程,他完成这项工作,你只在出现异常的情况下返回错误发生。

这种预防措施是小型应用程序的基础,但存在许多其他方法来避免 SQL 注入。

于 2013-04-24T12:58:29.703 回答