İçeriğe geç

Ham SQL Injection Riski (ARCH3055)

Anahtar typescript.orm.raw-sql-injection-risk · Önem critical · Kategori orm

Ham/native SQL’i string interpolasyonu veya birleştirmeyle kurmak hem bir SQL injection vektörüdür hem de query-plan cache’ini bozar. Her zaman bağlı parametre kullanın.

const email = req.query.email;
const rows = await dataSource.query(
`SELECT * FROM users WHERE email = '${email}'`
);
const email = req.query.email;
const rows = await dataSource.query(
`SELECT * FROM users WHERE email = $1`,
[email]
);

Kullanıcı girdisini asla SQL’e gömmeyin; bağlı (parametrize) sorgu parametreleri kullanın.