Django 1.8.4 release notes¶
18 augusti 2015
Django 1.8.4 åtgärdar ett säkerhetsproblem och flera buggar i 1.8.3.
Denial-of-service-möjlighet i logout()
-vyn genom att fylla sessionslagret¶
Tidigare kunde en session skapas vid anonym åtkomst till vyn django.contrib.auth.views.logout()
(förutsatt att den inte var dekorerad med login_required()
som görs i admin). Detta kan göra det möjligt för en angripare att enkelt skapa många nya sessionsposter genom att skicka upprepade förfrågningar, vilket potentiellt kan fylla upp sessionslagret eller orsaka att andra användares sessionsposter kastas ut.
Klassen:~django.contrib.sessions.middleware.SessionMiddleware har ändrats så att den inte längre skapar tomma sessionsposter, inklusive när :inställningen:`SESSION_SAVE_EVERY_REQUEST` är aktiv.
Buggrättningar¶
Lagt till möjligheten att serialisera värden från den nyligen tillagda
UUIDField
(#25019).Lagt till en varning för systemkontroll om de gamla inställningarna
TEMPLATE_*
definieras utöver den nya inställningenTEMPLATES
.Fixade
QuerySet.raw()
så attInvalidQuery
inte uppstår när man använderdb_column
-namnet på ettForeignKey
-fält medprimary_key=True
(#12768).Förhindrade ett undantag i
TestCase.setUpTestData()
från att läcka transaktionen (#25176).Fixade metoden
has_changed()
icontrib.postgres.forms.HStoreField
(#25215, #25233).Fixade registreringen av krossade migreringar när kommandot
migrate
kördes (#25231).Flyttade unsaved model instance assignment data loss check till
Model.save()
för att göra det lättare att använda modeller i minnet (#25160).Förhindrade
varchar_patterns_ops
ochtext_patterns_ops
index förArrayField
(#25180).