参数化查询未解决sql注入缺陷
我有下面的一段代码,在其中我进行了参数化查询,因为我在某个地方读到这样可以避免SQL注入。但是在做了这个更改之后,我仍然得到了SQL注入缺陷参数化查询未解决sql注入缺陷,sql,sql-injection,veracode,Sql,Sql Injection,Veracode,我有下面的一段代码,在其中我进行了参数化查询,因为我在某个地方读到这样可以避免SQL注入。但是在做了这个更改之后,我仍然得到了SQL注入缺陷 StrCmd = "select TdsSubCode from Rate where TdsCode= @cboTdsCode and DSCode= @cboDedStatus" dsCmd = New SqlCommand(StrCmd, conTdsPac) dsCmd.CommandType = CommandType.Text dsCmd
StrCmd = "select TdsSubCode from Rate where TdsCode= @cboTdsCode and DSCode= @cboDedStatus"
dsCmd = New SqlCommand(StrCmd, conTdsPac)
dsCmd.CommandType = CommandType.Text
dsCmd.Parameters.AddWithValue("@cboTdsCode", cboTdsCode.Text)
dsCmd.Parameters.AddWithValue("@cboDedStatus", cboDedStatus.Text)
dsCmd.ExecuteReader()
这是什么缺陷呢?SQL命令中使用的特殊元素的不正确中和(“SQL注入”)假设它不是误报,它可能在某种程度上对使用
.AddWithValue
感到不满意。您可以使用.Add
并指定参数类型,以避免计算机猜测参数类型。感谢您的回复。在.Add的情况下,我们可以指定参数类型,但可以指定如何赋值。我可以使用:dsCmd.Parameters.Add(“@cboTdsCode”,SqlDbType.NVarChar)。我需要如何将“cboTdsCode.Text”的值分配给参数“@cboTdsCode”@Bordan您可以使用sqlCmd.Parameters.Add(“@x”,SqlDbType.NVarChar,20)。value=“hkj”
。