Se un ingresso lamer viene inserito in una query SQL direttamente, l'applicazione diventa vulnerabile a SQL injection, come nel seguente esempio:Come posso prevenire l'SQL injection in PYTHON-DJANGO?
dinossauro = request.GET['username']
sql = "SELECT * FROM user_contacts WHERE username = '%s';" % username
Per escludere le tabelle o nulla - rendendo la query:
INSERT INTO table (column) VALUES('`**`value'); DROP TABLE table;--`**`')
Cosa si può fare per impedirlo?
Posso chiederti perché stai scrivendo manualmente query SQL anziché utilizzare i modelli django? – smeso
L'ORM django, al di fuori di 'raw' e' extra' eviterà le tue domande per te. Vedi i [documenti di sicurezza] (https://docs.djangoproject.com/en/dev/topics/security/#sql-injection-protection). – jonafato