SQL Select语句是否需要在asp中进行参数化?

时间:2014-03-27 15:18:34

标签: asp.net sql vb.net asp-classic

我有一些下面列出的SQL select语句。有没有理由参数化这些查询?有些是用asp编写的,有些是用asp.net编写的。

使用sqldatasource控件的asp.net:

SelectCommand="SELECT * FROM HEADLINES  WHERE visible = 'Yes' AND FIN = 'Yes' ORDER BY DATE DESC></asp:SqlDataSource>

使用ADO记录集对象的asp classic中的一个查询:

Set Season = Server.CreateObject("ADODB.Recordset")
Season.ActiveConnection = INTERNET_STRING
Season.Source = "SELECT *  FROM SEASON  WHERE SHOW_INDIC = Season_var

这些查询不接受用户输入,但它们位于asp / aspx页面而不是后面的代码上,我是否应该担心潜在的SQL注入或任何其他漏洞?感谢。

1 个答案:

答案 0 :(得分:2)

参数化查询将消除SQL注入。如果查询中包含变量,则查询容易受到攻击。有关详细信息:http://msdn.microsoft.com/en-us/library/ff648339.aspx

但是,您的第一个查询是静态的,它没有变量。静态查询没有理由进行参数化。

你的第二个查询有变量,因此应该参数化。