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.
Hatalı
Bölüm başlığı “Hatalı”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]);Düzeltme
Bölüm başlığı “Düzeltme”Kullanıcı girdisini asla SQL’e gömmeyin; bağlı (parametrize) sorgu parametreleri kullanın.