我正在处理一些旧代码,需要帮助创建 sql 参数并将其与查询字符串关联。
val = request.querystring("number1")
sql = "select * from table where table.number = ' &val & "'"
如何创建参数以避免sql注入(inject)?
最佳答案
一个快速解决方案 - 如果您的查询字符串值是数字 - 是使用 Cint()
- 它将查询字符串更改为整数 - 例如
val = cint(request.querystring("number1"))
sql = "select * from table where table.number = " & val
如果有人尝试使用非数字查询字符串值进行 SQL 注入(inject),则会抛出类型不匹配错误,并且数据库查询将不会执行。
如果你想使用比整数更复杂的东西,那么你应该看看参数化查询 - SO 有很多处理这个问题的问题,例如这个
关于asp-classic - 在经典的asp中,如何将查询字符串传递给sql参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36704316/