如何防止nodejs中的sql注入和续集? [关闭]

Posted

技术标签:

【中文标题】如何防止nodejs中的sql注入和续集? [关闭]【英文标题】:How to prevent sql-injection in nodejs and sequelize? [closed] 【发布时间】:2016-06-10 16:02:08 【问题描述】:

我想使用 Sequelize 编写自定义查询,并尽可能避免 SQL 注入的潜在问题。因此,我的问题是,是否存在使用 Sequelize 使用插入变量编写自定义查询的安全方法?

【问题讨论】:

【参考方案1】:

Sequelize 转义替换,从而避免了 SQL 注入攻击的核心问题:未转义的字符串。它还支持在使用 SQLite 或 PostgreSQL 时绑定参数,通过将参数单独发送到数据库来进一步降低风险,as documented here:

绑定参数就像替换。除了替换被转义 并在查询发送到之前通过 sequelize 插入到查询中 数据库,而绑定参数被发送到外部的数据库 SQL 查询文本。查询可以有绑定参数或 替换。

只有 SQLite 和 PostgreSQL 支持绑定参数。其他方言 将以相同的方式将它们插入到 SQL 查询中 替代品。绑定参数由 $1、$2、... 引用 (数字)或 $key(字母数字)。这与方言无关。

【讨论】:

snyk.io/blog/sql-injection-orm-vulnerabilities

以上是关于如何防止nodejs中的sql注入和续集? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

我需要了解如何防止 NodeJS 上的 sql 注入 sequelize ORM

php如何防止sql注入?

如何防止SQL注入漏洞

SQL注入如何产生?如何防止?

pg数据库like防止sql注入

如何防止Android中的SQL注入?