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

时间:2016-10-08 18:10:29

标签: javascript node.js sequelize.js

我有一个函数可以获取具有偏移和限制的产品。

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

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

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

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

1 个答案:

答案 0 :(得分:1)

Sequelize将为您逃脱(以防止注入攻击)限制和偏移值。但是,它不会为您验证它,所以如果您不想在某些傻瓜通过SequelizeDatabaseError时抛出'limit: monkeys',那么您需要自己进行筛选。

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