December 4, 2024
Django 5.1.4修复了5.1.3中的一个严重程度为“高”的安全问题、一个严重程度为“中等”的安全问题以及几个错误。
strip_tags()
strip_tags() 评估包含大量嵌套不完整HTML实体序列的某些输入将极其缓慢。的 strip_tags() 方法用于实现相应的 striptags 模板过滤器,因此也很脆弱。
striptags
strip_tags() 现在有递归调用的上限, HTMLParser 在提出一个 SuspiciousOperation 例外.
HTMLParser
SuspiciousOperation
请记住,绝对不提供有关结果的保证 strip_tags() HTML安全。因此,永远不要将结果标记为安全 strip_tags() 调用而不先逸出它,例如 django.utils.html.escape() 。
django.utils.html.escape()
HasKey(lhs, rhs)
直接使用 django.db.models.fields.json.HasKey 如果将不受信任的数据用作 lhs 值
django.db.models.fields.json.HasKey
lhs
使用 has_key 通过 __ 语法不受影响。
has_key
__
修复了在 createsuperuser 在Python 3.13+上由未处理引起 OSError 当用户名无法确定时 (#35942 ).
createsuperuser
OSError
修复了Django 5.1中的回归,其中调用时关系字段未更新 Model.refresh_from_db() 在具有延迟字段的实例上 (#35950 ).
Model.refresh_from_db()
Django 5.1.5发布说明
Django 5.1.3发布说明
5月 28, 2025