在经典的asp中,如何将查询字符串传递给sql参数



我正在处理一些遗留代码,需要帮助创建sql参数并将其与查询字符串关联。

val = request.querystring("number1")
sql = "select * from table where table.number = ' &val & "'"

如何创建参数以避免sql注入?

如果查询字符串值是数字,那么一个快速解决方案是使用Cint(),它将查询字符串更改为整数,例如

val = cint(request.querystring("number1"))
sql = "select * from table where table.number = " & val

如果有人尝试使用非数字查询字符串值进行sql注入,则会引发类型不匹配错误,并且数据库查询将不会执行。

如果你想使用比整数更复杂的东西,那么你应该看看参数化查询——SO上有很多问题可以处理这个问题,例如这个

经典Asp 中的参数化查询

最新更新