2016-02-27 86 views

Odpowiedz

9

Sequelize wymyka się zamiennikom, co pozwala uniknąć problemu stanowiącego sedno ataków SQL injection: ciągi bez zmiany znaczenia. Wspiera on także wiążących parametry przy użyciu SQLite lub PostgreSQL, która łagodzi ryzyko dalej poprzez wysłanie parametrów do bazy oddzielnie do zapytania, as documented here:

parametry powiązań są jak zamienniki. Poza wymianami są one usuwane i wstawiane do zapytania przez kontynuację, zanim zapytanie zostanie wysłane do bazy danych , podczas gdy parametry wiązania są wysyłane do bazy danych poza tekstem zapytania SQL z zakresu . Zapytanie może mieć parametry wiązania lub zastąpienia .

Tylko parametry obsługi SQLite i PostgreSQL wiążą parametry. Inne dialekty wstawią je do zapytania SQL w taki sam sposób, jak to zrobiono dla zamienników . Parametry powiązania są określane przez $ 1, $ 2, ... (numeryczne) lub $ key (alfanumeryczne). Jest to niezależne od dialektu.

+1

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