Skip to main content
 首页 » 编程设计

python之Django:直接从 request.POST ["item"处理数据的风险]

2025年05月04日28lvdongjie

有时我的表单在逻辑上有点复杂,需要的验证不仅仅是类型检查或正则表达式,所以我最终直接从 request.POST['item'] 处理数据,喜欢:

  • datetime.strptime(request.POST['item'], FORMAT)
  • MyModel.objects.filter(name=request.POST['item2']

据我所知,第一个示例在最坏的情况下会抛出异常,因此没有安全问题,而对于第二个示例,Django ORM 会阻止 SQLi。对吗?

我在 URLConf 中也有正则表达式,所以我想在 views.py 中处理从 URL 获取的数据是安全的,因为 URLConf 已经用正则表达式验证了它,对吗?

请您参考如下方法:

是的。如果这些情况不安全,它们将成为安全问题,并且一旦被发现就会迅速修补。