تخطَّ إلى المحتوى

Raw Sql Injection Risk (ARCH2055)

هذا المحتوى غير متوفر بلغتك بعد.

Key python.orm.raw-sql-injection-risk · Severity error · Category orm

Building raw SQL via string interpolation or concatenation is both an injection vector and a query-plan-cache buster. Always use bound parameters.

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

Pass user input into raw SQL as bound parameters (%s with a params list), never via interpolation.