快捷搜索:

ASP防SQL注入

前一篇我们先容了一种防SQL注入的最终措施,也便是最原始、最简单、最有效也是最通用的措施,便是数据类型的反省加单引号的处置惩罚,详细的内容前面一篇已经先容过了,这里我就不重复了,下面我们将要先容另一种在ASP里防SQL注入进击的措施,该措施不仅仅在ASP里适用,实际上可以在任何应用ADO工具模型与数据库交互的说话中,准确的说称之为基于ADO工具模型的防SQL注入的措施或许更恰当些。好了废话不说了,来看看代码

Dim conn,cmd,pra

set conn=server.createobject("adodb.connection")

conn.Open "…………" '这里省略数据库连接字

set cmd=server.createobject("adodb.Command")

set pra=server.createobject("adodb.Parameter")

cmd.ActiveConnection = conn

cmd.CommandText = "update news set title=? where id =?"

cmd.CommandType = adCmdText

Set pra = cmd.CreateParameter("title", adVarWChar, adParamInput, 50, "1'2'3")

cmd.Parameters.Append pra

Set pra = cmd.CreateParameter("id", adInteger, adParamInput, , 10)

cmd.Parameters.Append pra

cmd.Execute

news表的id字段是Integer型的,title字段是nvarchar(50)型的,履行的结果是把news表中id字段为10的记录的title字段的内容改成“1'2'3”

您可能还会对下面的文章感兴趣: