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

标签 asp-classic

我正在处理一些旧代码,需要帮助创建 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 有很多处理这个问题的问题,例如这个

Parameterized query in Classic Asp

关于asp-classic - 在经典的asp中,如何将查询字符串传递给sql参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36704316/

相关文章:

asp-classic - 删除搜索引擎蜘蛛生成的 session

javascript - 如何使用 jQuery 解析嵌入在 ASP 页面中的 XML

asp-classic - vbscript:带参数的getref

asp-classic - ASP-打印整个请求内容

asp-classic - 动态增加数组大小

IIS7 - 一次只提供一页。这让我发疯!

mysql - ASP、MySQL 和 UTF-8

javascript - AJAX 和 JavaScript 不工作

sql - 在 VBScript ADODB.Command 中查看参数化查询

asp-classic - 经典ASP响应状态500