İçeriğe geç

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.

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])

Ham SQL’de kullanıcı girdisini interpolasyon yerine bağlı parametre (%s, params listesi) ile geçirin.