我收到此错误:
ProgrammingError at /databases
You can only execute one statement at a time.
Request Method: POST
Request URL: http://127.0.0.1:7099/databases
Django Version: 5.0
Exception Type: ProgrammingError
Exception Value:
You can only execute one statement at a time.
Exception Location: C:\Users\falcon\Desktop\Meity\hawk_v\okii\Lib\site-packages\django\db\backends\sqlite3\base.py, line 324, in execute
Raised during: app.views.databases
当我将字段指定为
'); DELETE FROM app_databases; --.
时,它应该删除整个数据库,但它显示“执行了多个命令”。
.extra(…)
[Django-doc] 和 .raw(…)
[Django-doc] don't 检查 SQL,这本质上就是这些调用的全部要点:您可以创建一个免费查询,该查询已记录在案。这是原始 SQL 查询出现问题的(很多)原因之一。请不要使用这些,除非所有其他尝试都失败了,因为它是安全漏洞的潜在来源。
您在这里进行过滤:
Databases.objects.filter(first_name__iexact=search_term)