Oracle数据库和.NET(C#) - 如何防止SQL注入

时间:2013-04-24 12:31:47

标签: asp.net sql oracle security sql-injection

我将在asp.net页面中使用select,即:

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

有任何方法可以阻止sql注入。

1 个答案:

答案 0 :(得分:0)

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

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