如何防止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注入和续集? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章