node.js 的繁琐模块是不是有任何防止 sql 注入的功能?
Posted
技术标签:
【中文标题】node.js 的繁琐模块是不是有任何防止 sql 注入的功能?【英文标题】:Does tedious module for node.js have any function for preventing sql injection?node.js 的繁琐模块是否有任何防止 sql 注入的功能? 【发布时间】:2018-10-21 03:11:55 【问题描述】:为了您的信息,我正在努力使用 Microsoft Azure 和繁琐的模块来防止 sql 注入。
我在mysql模块上看到了一个叫做“escape”的函数,但是我不确定类似的函数是否在繁琐的模块中。
【问题讨论】:
tediousjs.github.io/tedious/parameters.html 【参考方案1】:转义是一种古老的技术,使用起来很烦人,也容易出错(忘记变量或将其转义两次有点容易——而且看到使用 错误 转义函数的情况并不少见)。过去十年编写的任何体面的数据库库都必须支持准备好的语句,否则将被丢弃。
Tedious site 的侧边菜单有一个突出的 Using Parameters 第一级条目,涵盖了以下内容:
这里支持参数化语句和使用参数 调用过程时。
输入参数被添加到请求使用
Request.addParameter()
,并使用添加输出参数Request.addOutputParameter()
参数名称在 T-SQL 中,参数名称通过前缀 '@'。
select id from address where first_name = @name and age > @age
此 API 中使用的参数名称不包含“@”。
request.addParameter('name', ..., ...); request.addParameter('age', ..., ...);
他们本可以提供不那么冗长的语法,但它应该可以完成工作。
【讨论】:
以上是关于node.js 的繁琐模块是不是有任何防止 sql 注入的功能?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在没有准备好的语句(Node.js 和 MSSQL)的情况下防止 SQL 注入