我第一次将 Sequelize 与 PostgreSQL 结合使用。这也是我很长时间以来第一次使用 SQL 数据库。
我一直在研究如何提高一些SQL查询的性能和安全性。我遇到了
sequelize.query()
方法并开始将其用于此目的。
这种在 Sequelize 中进行原始查询的方式是否容易受到 SQL 注入攻击?
虽然您可以避免它们,但您也可以发出容易受到 SQL 注入攻击的查询。
如果您专门使用对所有用户输入的值使用替换或绑定参数的查询,那么您应该是安全的。
这是否容易受到 SQL 注入攻击:简单的答案是“是”。 您正在使用原始查询。如果该原始查询曾经从用户输入中获取输入(无论是间接的),则存在 SQL 注入的可能性。风险是否真实取决于代码的其余部分。
性能不同。原始查询的性能可能比使用 sequalize 方法稍高一些,但更依赖于数据库结构和查询本身的性质。这是一个广泛的话题,无法从所提供的信息中得到答案。