Node MSSQL

编程入门 行业动态 更新时间:2024-10-11 23:25:03

<a href=https://www.elefans.com/category/jswz/34/1771450.html style=Node MSSQL"/>

Node MSSQL

我正在查看用于节点的MSSQL模块中的内置SQL注入保护:

但是我并没有完全得到他们的示例,该示例如何清理查询的值。我猜想request.input('myval', sql.VarChar, '-- commented')语句针对被注释掉的其余查询清除了“ myvar”。

如果我也想对其他东西进行消毒怎么办?例如删除表语句等。

有人可以帮我吗?

回答如下:

只是想出了如何解决这个问题。 request.input()接受以下mssql docs中描述的三个参数:

输入(名称,[类型],值)将输入参数添加到请求中。

参数

名称-输入参数的名称,不带@字符。

type-输入参数的SQL数据类型。如果省略类型,则模块 自动基于JS决定应使用哪种SQL数据类型 数据类型。

value-输入参数值。未定义的ans NaN值为 自动转换为空值。

所以您使用它的方式如下;

let id= 123456
const stmt = 'SELECT * FROM Users WHRE User=@userId'
request.input('userId', sql.Int, id);
request.query(stmt)

注意:

  • [id是保存我的值的变量,并用作request.input(name, type, value)中的第三个参数。
  • userId只是我为使用@userId在sql语句中使用的变量指定的名称。在request.input()中,将id值分配给sql语句中的userId
  • 最后sql.Int只是一种数据类型,将用于验证进入userId的日期。您可以通过将sql导入同一文件来使用它:const sql = require('mssql')

更多推荐

Node MSSQL

本文发布于:2024-05-07 09:29:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1755612.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Node   MSSQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!