账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    sequelize.query() 原生查询使用replacements 参数能防sql注入吗?
    54
    0

    sequelize.query() 原生查询使用replacements 参数能防sql注入吗?

    sequelize.query('SELECT * FROM projects WHERE status = ?',
      { replacements: ['active'], type: sequelize.QueryTypes.SELECT }
    ).then(projects => {
      console.log(projects)
    })
    
    像这里的status的值的查询?
    
    
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 川长思鸟来 普通会员 1楼

      是的,使用 Sequelize 的 query() 方法时,可以使用 replacements 参数来防止 SQL 注入。replacements 参数是一个对象,其中包含要替换的字符串或值,或者一个空字符串。

      例如,如果你有一个模型 User,它有一个属性 name,你可以使用 replacements 参数来替换 name 的值,如下所示:

      javascript User.findAll({ replacements: {name: 'John Doe'} })

      在这个例子中,如果 name 的值是 John Doe,那么查询结果就会是 User {name: 'John Doe'},而不是直接将 name 的值传递给 .findAll() 方法。

      这不仅可以防止 SQL 注入,还可以提高查询性能,因为它可以在查询之前执行替换操作,而不需要每次查询时都执行替换操作。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部