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() 的相关文章

  • 如何从 JSON 创建 Mongoose 模式

    我是 mongodb nodejs 和 mongooseJS 的新手 最近 我一直在尝试为我的 JSON 创建猫鼬模式 endpoints a z poi location name a latitude 10 1075702 longit
  • 使用 Typescript 实现 Express 控制器类

    我正在用打字稿做一个快速应用程序 路由器代码是 let user new User router get user test 用户类别是 export class User test req res next this undefined
  • 节点 html-pdf 自动配置失败

    我有一个使用 html pdf 包的简单项目 我想用以下代码制作一个简单的 pdf 文件 pdf create html toStream function err stream if err reject err else stream
  • 装饰器中间件模式的 Typescript 类型

    我正在考虑节点中间件 在各种框架中 通常 中间件会向请求或响应对象添加一个属性 然后该属性可供在其之后注册的任何中间件使用 此模型的一个问题是您无法进行有效的打字 为了进行演示 这里有一个此类框架的高度简化的模型 在这种情况下 一切都是同步
  • 将实时流音频从 NodeJS 服务器获取到客户端

    我需要从 1 个客户端到服务器到多个侦听器客户端的实时实时音频流 目前 我正在从客户端进行录音 并通过 socket io 将音频流式传输到服务器 服务器接收此数据 并且必须将音频流式传输 也通过 socket io 到想要收听此流的客户端
  • 玉石压痕错误

    因此 对于我的 Express 网站 我使用 jade 所以我决定尝试修改我的布局文件 以便我可以开始设计我的网站 我修改了原始布局代码 有效 但我开始在任何扩展布局的文件中出现缩进错误 如下所示 500 Error home kevin
  • 从 puppeteer PDF 中删除分页符?

    我目前正在尝试查看是否有一种方法可以删除我的 puppeteer PDF 中的分页符 因为我当前的 PDF 设置中的一些分页符正在以一种奇怪的方式切断文本 我正在谈论的内容的屏幕截图 我的傀儡代码 app get companyId pdf
  • 带有node-gyp的node.js应用程序无法在azure网站上部署

    我已经建立了一个 Azure 网站 并且正在尝试使用依赖于 node gyp 的示例应用程序 我得到这个 emote gt email protected cdn cgi l email protection install C DWASF
  • 调用 `app.close()` 时,Nest 找不到 Sequelize 元素

    我们有一个运行 Nest 8 0 8 的 Web 服务器 使用给定的模块设置 Module imports ConfigModule forRoot isGlobal true cache true validate load config
  • 找不到模块“node-sass”时出现错误

    配置 macOS High Sierra 版本 10 13 2 节点 v8 1 2 npm 5 0 3 当我在 angularjs 项目中运行 npm start 时 出现以下错误 ERROR in Cannot find module n
  • Node + now.js + 模型-视图-控制-模式

    我正在使用基于 MVC 模式 模板和 PHP 类 的论坛软件 页面如下所示 domain com index php page Test 我想使用 Node 和 now js 在一个页面 domain com index php page
  • 如何与使用 child_process.spawn 创建的新创建的服务器交互

    我正在尝试为我的私人托管的 反恐精英全球攻势 服务器制作一个前端 当我点击运行服务器时 在前端 一切正常 服务器启动并记录到控制台 但是如何查看服务器IP地址 服务器中的玩家等信息呢 这是我到目前为止运行服务器的内容 router post
  • Node.js 找不到模块“mongodb”

    我正在经历我的第一个 Node js 项目 我已经安装了 mongodb 有一个 server js 文件 当我尝试运行它时 出现此错误 module js 340 throw err Error Cannot find module mo
  • 如何使用 jest 测试 unhandledRejection / uncaughtException 处理程序

    我有处理程序unhandledRejections and uncaughtExceptions bin js unhandledRejection uncaughtException forEach event gt process on
  • Windows - 启动时自动启动特定应用程序

    在 Windows 操作系统中开发信息亭应用程序 当机器启动时 必须依次发生 3 件事 Node js 服务器启动 包含 Web 应用程序的浏览器以 kiosk 模式启动 另一个客户端应用程序启动 是否有一个实用程序可以轻松完成此操作 或者
  • Webpack 如何构建生产代码以及如何使用它

    我对 webpack 很陌生 我发现在生产构建中我们可以减少整体代码的大小 目前 webpack 构建的文件大小约为 8MB main js 的文件大小约为 5MB 如何减少生产构建中的代码大小 我从互联网上找到了一个示例 webpack
  • 如何使用 chrome puppeteer 访问 ssl 证书内容

    我想使用 chrome puppeteer 访问 url 的证书详细信息 是否可以使用当前的 puppeteer API 来做到这一点 使用以下代码获取证书列表 结果无法直接读取 将每个条目存储在具有 pem 扩展名的文件中 BEGIN C
  • 跳过测试文件 Jest 中的一项测试

    我正在使用 Jest 框架并有一个测试套件 我想关闭 跳过其中一项测试 谷歌搜索文档没有给我答案 您知道答案或需要检查的信息来源吗 我在这里找到了答案 https devhints io jest https devhints io jes
  • 获取与请求

    我正在使用 JSON 流并尝试使用 fetch 来使用它 该流每隔几秒发出一些数据 仅当流关闭服务器端时 使用 fetch 来使用流才可以访问数据 例如 var target the url var options method POST
  • 在不调用“then”的情况下解决 Promise

    我有这段代码 它是我为一个名为 Poolio 的 NPM 模块编写的小型 API 的一部分 对于那些支持错误优先回调和承诺的人来说 我遇到的问题似乎是一个常见问题 我们如何在支持两者的同时保持一致的 API 和 API 的一致返回值 例如

随机推荐

  • 安卓 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 方法被调用 但在一些代码片段