Używam sequelize with express. Muszę chronić db z sql-injection. Widziałem dokumentację z sequelize, ale nie mogłem nic znaleźć. Więc proszę, pomóż mi jak zapobiec iniekcji sql przy użyciu sequelize.Jak zapobiec iniekcji sql w nodejs i sequelize?
Odpowiedz
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.
https://snyk.io/blog/sql-injection-orm-vulnerabilities/ –