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

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

【问题讨论】:

    标签: mysql node.js express sql-injection sequelize.js


    【解决方案1】:

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

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

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

    猜你喜欢
    • 1970-01-01
    • 2020-01-30
    • 2013-02-08
    • 2013-05-20
    • 2015-09-07
    • 1970-01-01
    • 2014-08-18
    • 2019-06-03
    • 2011-09-10
    相关资源
    最近更新 更多