首页 文章

我应该在sequelize(node.js)中使用转义字符串吗?

提问于
浏览
0

我有一个功能,可以获取具有偏移和限制的产品 .

function f(offset,limit, callback) {  
    models.Product.findAll({
    offset: offset,limit: limit
    }).then(function (products) {
    ...
    }).catch(function (error) {
            callback(error, null);
    });
    }

服务器通过客户端的POST查询获得偏移和限制 . 我应该自己检查限制和偏移值还是sequelize会这样做而不是我?它会捕获'catch'方法中的所有错误吗?

例如,服务器期望值 - 偏移量:0,限制:100,但得到 - 偏移量:-87,限制:'rchk'或某种sql注入 .

我应该在传递之前将此数据传递给findAll或自己检查输入数据吗?

1 回答

  • 1

    Sequelize将为您逃脱(以防止注入攻击)限制和偏移值 . 当一些傻瓜通过 'limit: monkeys' 然后你需要自己进行筛选时,它会想要 SequelizeDatabaseError 抛出 SequelizeDatabaseError .

    如果您正在运行原始查询(使用 Sequelize#query ,那么您希望使用占位符,因为t.niese建议)

相关问题