Node-MySQL - Query() 方法中的转义与 Mysql.Escape() / Mysql.EscapeId()

2023-11-23

我目前正在使用节点mysql用于将我的应用程序连接到 MySQL 实例的库。在阅读了我发现的其他一些 StackOverflow 问题和文章后,听起来 node-mysql 每次都会自动转义不安全字符query()方法被调用。但在一些代码片段中,我也看到mysql.escape() and mysql.escapeId()被称为内query() method.

好像就在那时query()自动转义一些危险字符,你仍然应该调用mysql.escape() and mysql.escapeId()躲避其他危险人物。

它是否正确?如果是这样,该系统会自动防御哪种类型的 SQL 注入攻击query()方法以及通过调用来防护什么样的SQL注入攻击mysql.escape() and mysql.escapeId()?


No, query()不会自动转义不安全字符。

为了安全地转义值,您需要使用mysql.escape()/mysql.escapeId() or use ?占位符如下所述:

https://github.com/felixge/node-mysql#escaping-query-values

connection.query('SELECT * FROM users WHERE id = ?', [userId], function(err, results) {
  // ...
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node-MySQL - Query() 方法中的转义与 Mysql.Escape() / Mysql.EscapeId() 的相关文章

随机推荐

  • 安卓 SIP SSL

    我在 Android 2 3 4 中使用 SIP 堆栈 一切运行良好 但是 我需要系统使用 SSL 并创建了以下代码 SipProfile Builder builder new SipProfile Builder user domain
  • Android 只允许一次在屏幕上显示一个导航页面,使用

    下面2个实现有什么区别 public App The root page of your application MainPage new Views MainPage public App MainPage new NavigationP
  • 甜甜圈缓存是否可以与 ASP.NET MVC 一起正常工作?

    通过甜甜圈缓存 我指的是斯科特 格思里的博客文章这太棒了 有谁知道这是否正常 请注意 从 MVC 2 0 开始 此技术不再有效 这很糟糕
  • Sql HierarchyId 如何获取最后的后代?

    Using t sql 等级制度我如何获得所有没有子项的行 即最后的后代 假设我的表结构如下 Id Name HierarchyId 并且有这些行 1 Craig 2 Steve 1 3 John 1 1 4 Sam 2 5 Matt 2
  • 如何在 woocommerce 中添加自定义运费?

    我想使用 woocommerce 中的代码添加运费 这是我的要求 如果我的发货国家 地区是澳大利亚 则运费会有所不同 澳大利亚境外的运费也会有所不同 现在 如果我的发货国家 地区是澳大利亚并且 1 if order value is lt
  • Dynamic_cast 返回 NULL 但它不应该返回

    我有以下类层次结构 class IStorage Q DECLARE INTERFACE IStorage ch gorrion smssender IStorage 1 0 class ISQLiteStorage public ISto
  • 如何在Xcode中替换模板标题中的公司名称?

    当 Xcode 创建一个新文件时 文件头中总是有这样的内容 Copyright 2009 MyCompanyName All rights reserved 我怎样才能改变这一点 You can change it in Xcode pro
  • 如何在 sql 中使用的 linq 中使用 Left join?

    如何在编写 SQL 查询的 Linq 中使用 Left join select p Name p Family E EmployTypecode E employtypeName E EmplytyppeTye from personnel
  • 设置连续数字的格式

    我正在尝试使用 Python 格式化整数列表 但在实现我想要的效果时遇到了一些困难 输入是整数的排序列表 list 1 2 3 6 8 9 我希望输出是一个如下所示的字符串 outputString 1 3 6 8 9 到目前为止 我所实现
  • Class.forName 似乎仍然有必要

    来自Java 文档 在以前版本的 JDBC 中 要获取连接 您首先必须通过调用 Class forName 方法来初始化 JDBC 驱动程序 在类路径中找到的任何 JDBC 4 0 驱动程序都会自动加载 但是 您必须使用 Class for
  • 在 JavaScript(特别是 NativeScript)中添加全局变量/函数

    我正在学习如何使用 NativeScript 编写应用程序 我相信最好的学习方式就是实践 因此 我正在构建一个基本的应用程序 在此应用程序中 我尝试创建一个可以跨应用程序中的所有视图模型和其他代码访问的函数和变量 为了尝试做到这一点 我想我
  • 在 Mongoose 的 forEach 循环中添加属性

    假设我的 posts 数组中的每个帖子都有两个属性 name 和 number 所以它就像 var posts name hey number 1 name foo number 2 Javascript 允许我在 foreach 循环中更
  • 网络 - 绑定到本地主机

    我有一个关于绑定和连接的一般性问题localhost 我正在使用 TCP 客户端 服务器 在服务器端我执行以下形式的操作 bind localhost 9999 listen 这是在一个名称为例如 的 UNIX 主机上完成的 host1 现
  • 为什么 sp_columns 不返回结果?

    我试图为 StackOverflow 上的另一篇文章 描述 一个表 但是当我运行 sp columns 时 没有显示任何结果或行 sp columns assignee Results A bunch of column headers 我
  • Python - 根据总和对列表进行排序

    我想根据每个内部列表的总和对包含列表的列表进行排序 这是我当前的片段 vectors for i in range 0 10 vectors append generate vector generate vector works crea
  • 当您需要存储(非常)大的数字时该怎么办?

    我正在尝试做一个欧拉计划问题 但它涉及将一个非常大的数字相加 100 使用Java int和long太小了 感谢您的任何建议 Class 大整数看起来这可能就是您正在寻找的
  • 根据 Javascript 中的字符串输入生成唯一编号

    过去我制作了一个函数 可以从字符串生成唯一的 id 数字 今天我发现它并不像应有的那么独特 以前从未见过问题 如今 两个不同的输入会生成相同的 id 数字 我在 Delphi C PHP 和 Javascript 中使用相同的技术来生成相同
  • 突出显示 JTable 的列标题

    我目前正在构建一个小 JTable 并且希望在选择单元格时突出显示列标题 和行标题 行标题部分实际上正在工作 以便更轻松地找到与该单元格相关的名称 这是一张图片 我已经尝试用以下方法切换标题的渲染器 table getTableHeader
  • 在 Prolog 中对大列表进行排序:内存不足

    我正在尝试使用冒泡排序对 prolog 中的 10k 元素列表进行排序 但出现了本地堆栈错误 合并排序似乎是最好的选择 因为对于相同的输入我没有收到任何错误 然而 我真的很想获得一些具有大量输入数据的冒泡排序的运行时间 但我不能 有任何想法
  • Node-MySQL - Query() 方法中的转义与 Mysql.Escape() / Mysql.EscapeId()

    我目前正在使用节点mysql用于将我的应用程序连接到 MySQL 实例的库 在阅读了我发现的其他一些 StackOverflow 问题和文章后 听起来 node mysql 每次都会自动转义不安全字符query 方法被调用 但在一些代码片段