Ham SQL Injection Riski (ARCH2055)
Anahtar python.orm.raw-sql-injection-risk · Önem error · Kategori orm
Ham SQL’i string interpolasyonu veya birleştirmeyle kurmak hem bir injection vektörüdür hem de query-plan önbelleğini bozar. Daima bağlı parametre kullanın.
Hatalı
Bölüm başlığı “Hatalı”def find(email): return User.objects.raw(f"SELECT * FROM users WHERE email = '{email}'")def find(email): return User.objects.raw("SELECT * FROM users WHERE email = %s", [email])Düzeltme
Bölüm başlığı “Düzeltme”Ham SQL’de kullanıcı girdisini interpolasyon yerine bağlı parametre (%s, params listesi) ile geçirin.