2016-02-27 107 views

回答

9

Sequelize逃逸替換,它避免了SQL注入攻擊的核心問題:未轉義的字符串。

綁定參數是像替換:使用SQLite或PostgreSQL,其由所述參數分別發送到數據庫以所述查詢進一步減輕風險,as documented here時它也支持結合參數。除了替換項被轉義 並插入到查詢之前,通過sequelize將查詢發送到 數據庫,同時將綁定參數發送到SQL查詢文本之外的數據庫 。查詢可以具有綁定參數或 替換項。

只有SQLite和PostgreSQL支持綁定參數。其他方言 將以與替換 相同的方式將它們插入到SQL查詢中。綁定參數由$ 1,$ 2,... (數字)或$ key(字母數字)引用。這與方言無關。

+1

https://snyk.io/blog/sql-injection-orm-vulnerabilities/ –