Node MSSQL - 如何使用内置的 SQL 注入保护

2023-12-14

我正在研究 Node 的 MSSQL 模块中内置的 SQL 注入保护:

https://www.npmjs.com/package/mssql#injection

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

如果我还想对其他东西进行消毒怎么办?比如drop table语句等。

有人可以帮我吗?


刚刚弄清楚如何工作。request.input()接受下面描述的三个参数MSSQL 文档:

input(name, [type], value) 向请求添加输入参数。

论据

name - 不带@char的输入参数的名称。

type - 输入参数的 SQL 数据类型。如果省略类型、模块 根据JS自动决定使用哪种SQL数据类型 数据类型。

value - 输入参数值。未定义的和 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只是我为将在 sql 语句中使用的变量指定的名称@userId。在里面request.input(), id值被分配给userId在sql语句中。
  • Lastly sql.Int只是一种数据类型,用于验证进入的日期userId。您可以通过在同一文件中导入 sql 来使用它:const sql = require('mssql')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node MSSQL - 如何使用内置的 SQL 注入保护 的相关文章

随机推荐

  • 保存txt文件的javascript代码

    任何人都可以告诉我如何使用也与浏览器兼容的 javascript 创建 txt 文件 创建文件后 它会提供另存为对话框 以便我可以保存创建的文件 任何其他逻辑也很受欢迎 我在 IE 中做得很好 但相同的代码无法在其他浏览器中运行 出于明显的
  • 剪切路径 SVG 多边形 Internet Explorer

    该代码在 IE 中不起作用 我需要使用它 因为我必须制作一个跟随地图上的点的箭头 div width 100 height 100 position absolute top 0px right 0px background red cli
  • 如何通过两个按钮实现多个日期选择器功能并保存选择的日期?

    我想创建一个活动 其中想要有两个按钮和多个标签 用户可以单击按钮来选择日期开始和结束 而这些选定的日期可以显示在标签中 以便用户可以知道用户已经选择了哪些日期 任何人都可以指导我该怎么做 使用多个日期选择器功能 两个按钮上只有两个日期选择器
  • DefaultAzureCredetials 无法通过 Visual Studio 进行身份验证 - 找不到 AzureServiceAuth\tokenProvider.json

    我正在尝试从以下位置连接到 Azure Key Vault 实例 NET 4 7在 IIS 和调试器下本地运行的应用程序 Visual Studio 202217 4 4 但遇到以下异常Azure Identity当调用执行 KeyVaul
  • C# Selenium 横向移动仿真

    我正在使用 c 在 Net 环境中使用 Selenium 进行一些移动 UI 测试 我能够在纵向模式下使用 chrome 移动仿真非常成功地进行测试 但我找不到如何将仿真置于横向模式 我希望能够在测试期间以编程方式轮换 但通过研究看来这还不
  • 为什么 jQuery 的 height() 会自动将值向上舍入?

    我想计算列表的计算高度 在 IE 上 这两者给出不同的结果 在 Chrome 上 该值似乎总是整数 所以我没有遇到这个问题 gives a string of 353 7px window getComputedStyle mylist n
  • 什么更好?循环中的notifyDataSetChanged 或notifyItemChanged?

    所以我有一个活动RecyclerView我想改变TextView中的每一项的RecyclerView通过按下按钮onClickListener 在活动中 我想知道在性能方面什么更好 Use notifyDataSetChanged ones
  • Django 对图像上传的可疑操作

    在我的管理员中 我尝试上传图像 单击 保存 后出现此错误 SuspiciousOperation at admin the chooser book add Attempted access to media 51VqHa8exoL jpg
  • Rails - 在 link_to 中传递参数

    我的帐户索引页面列出了所有帐户 每个帐户都有一个指向 服务 的链接 这应该将用户定向到 my services new 页面 并使用适当的 ID 预先填充 account id 字段 具体取决于在帐户索引页面上单击的链接 我在每个页面的底部
  • 一种间隔重叠矩形的算法?

    这个问题实际上涉及翻转 我将在下面概括如下 我有一个 2D 视图 并且屏幕上的某个区域内有许多矩形 我如何展开这些盒子 使它们不相互重叠 但仅以最小的移动来调整它们 矩形的位置是动态的并且取决于用户的输入 因此它们的位置可以在任何地方 At
  • 从 Azure 自动化帐户运行时 Get-AzureBlobContent 抛出错误

    我在尝试通过我的 Azure 自动化帐户从 Azure 存储帐户下载 blob JSON 文件 时遇到失败 看起来像是授权问题 这适用于我的本地笔记本电脑 但不适用于 Azure 自动化帐户 即使我将容器设置为 公共 也不起作用 我已为资源
  • 在 SQL Server 2008 中保护敏感信息不被 DBA 获取

    我们的客户需要加密 MOSS 内容数据库 因此如果没有正确的加密密钥 DBA 或未经授权的人员就无法查看内容数据库 SQL Server 2008 中的透明数据加密 TDE 似乎无法保护 DBA 的敏感信息 因为 TDE 旨在保护 静态 数
  • 在 PHP 中使用 DOMPDF 的 PDF 页面中的标题

    我正在使用 DOMPDF 创建 PDF 文件 我有大量内容要提取为 PDF 我们需要在所有页面中添加一些标题 那么谁能告诉我如何在 PDF 中添加页眉和页脚 以便使用 DOMPDF 在所有页面中显示页眉 在 0 6 0 代码中 您将能够使用
  • JQuery 自动建议服务器端[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 事实证明 开发一个服务器端
  • 自动映射器的通用扩展方法

    public abstract class Entity IEntity Key public virtual int Id get set public class City Entity public string Code get s
  • 嵌入对象后面的 jquery 组合框(仅限 IE)

    在 Internet Explorer 中 我有一个 jquery 组合框 它在嵌入对象 例如 pdf 文档 后面打开 如何确保组合框始终位于嵌入对象的前面 请参阅此小提琴的示例 http jsfiddle net RDd3A 258 更新
  • PHP 中用于 Postgresql 查询的列名称的绑定变量

    我需要从 PHP 动态生成需要在 Postgresql 中更新的列名 这是代码和错误 Col dog Num pic query params array user id gt CustomerID dog path gt filePath
  • 越狱iOS设备的应用程序:一致的后台操作

    我是名为 AirFloat 的 Cydia 调整项的作者 实现 AirPlay 音频协议 以前称为 AirTunes 的应用程序 可以传输音频to您的 iOS 设备 AirFloat 最初是一个 App Store 应用程序 直到被 App
  • iPhone X 上停用时 applicationDidBecomeActive 触发

    还有其他人遇到麻烦吗applicationDidBecomeActive错误地开火失活新 iPhone X 上的应用程序是什么 这是我的测试应用程序 class ViewController UIViewController require
  • Node MSSQL - 如何使用内置的 SQL 注入保护

    我正在研究 Node 的 MSSQL 模块中内置的 SQL 注入保护 https www npmjs com package mssql injection 但我并没有完全理解他们如何清理查询值的示例 我猜是request input my