2018年3月6日
Django2.0.3修复了2.0.2中的两个安全问题和几个错误。此外,还合并了Transifex的最新字符串翻译。
urlize
和 urlizetrunc
模板筛选器¶这个 django.utils.html.urlize()
由于两个正则表达式中存在灾难性的回溯漏洞,函数在评估某些输入时非常缓慢。这个 urlize()
函数用于实现 urlize
和 urlizetrunc
模板过滤器,因此容易受到攻击。
有问题的正则表达式被行为类似的解析逻辑所取代。
truncatechars_html
和 truncatewords_html
模板筛选器¶如果 django.utils.text.Truncator
的 chars()
和 words()
方法已通过 html=True
理由是,由于正则表达式中存在灾难性的回溯漏洞,它们在评估某些输入时非常慢。这个 chars()
和 words()
方法用于实现 truncatechars_html
和 truncatewords_html
模板过滤器,因此容易受到攻击。
正则表达式中的回溯问题是固定的。
修正了导致切片的回归 QuerySet.distinct().order_by()
然后 count()
撞车 (#29108 )
将日期时间和时间输入格式的优先级设置为 %f
用于修复显示“未定义”的管理时间选择器小部件的泰语区域设置 (#29109 )
固定撞车 QuerySet.order_by(Exists(...))
(#29118 )
制造 Q.deconstruct()
具有多个关键字参数的确定性 (#29125 )您可能需要修改 Q
在现有迁移中,或接受自动生成的迁移。
修正了一个回归式,其中 When()
带有列表参数的表达式崩溃 (#29166 )
修复了使用 Window()
子查询中的表达式 (#29172 )
固定的 AbstractBaseUser.normalize_username()
如果崩溃 username
参数不是字符串 (#29176 )
7月 22, 2024