Nasze ostatnie projekty

Svet Dreva

Kontakt Z nami

DZIAŁ TECHNICZNY

hosting, domeny, kontakt z administratorem

Bartosz Radwan
mobile: +48 512 044 262
e-mail: b.radwan@znaminet.pl

DESIGN

projekty stron, grafika, animacje flash

Marzena Radwan
mobile: +48 500 145 203
e-mail: m.radwan@znaminet.pl

Poprawki bezpieczeństwa w Django 0.96, 1.0, koniec życia linii 0.96

2009.07.29 Źródło: Django Weblog

Zespół developerów Django wydał nowe wersje Django poprawione pod względem bezpieczeństwa. Wydano także stabilną wersję 1.1 a tym samym zakończono wsparcie dla linii 0.96.

Django w wersji 0.96.3 oraz 1.0.2 zawiera błędy mogące mieć w pewnych okolicznościach wpływ na bezpieczeństwo aplikacji tworzonych w tym frameworku. Nowe wersje eliminują następujące błędy:

  • W pewnych okolicznościach po spreparowaniu odpowiedniego URL serwer deweloperski może serwować jakiekolwiek pliki, do których ma dostęp. Jakkolwiek serwer deweloperski nie jest przeznaczony do użycia produkcyjnego, jednak czasami wystawia się przy jego pomocy aplikacje we wczesnej fazie rozwoju na świat - warto więc mieć świadomość, że nie jest to do końca bezpieczne w przypadku, gdy nasz serwer deweloperski obsługuje także kontent statyczny (a prawie zawsze obsługuje). Poprawka dotyczy wersji 0.96, 1.0 oraz 1.1.
  •  W środowiskach hostingowych gdzie serwer serwujący kontent generowany przez Django zmienna REMOTE_ADDR zawiera adres serwera reverse proxy. Django dostarcza middleware django.middleware.http.SetRemoteAddrFromForwardedFor, która to klasa podmienia zawartość REMOTE_ADDR na podstawie nagłówka X-Forwarded-For. Może to doprowadzić do sytuacji, kiedy programista będzie polegał np. podczas autoryzacji na zawartości zmiennej REMOTE_ADDR, co generalnie nie jest nigdy dobrym pomysłem. W wersjach 0.96 oraz 1.0 ta klasa middleware będzie pozostawiona bez zmian, natomiast w wersji 1.1 i późniejszych nie będzie już istniała.

Oryginalny wpis na blogu Django, tutaj można także znaleźć linki do pobrania nowych wersji.

Kilka minut po ogłoszeniu wydania poprawek ogłoszono także wydanie stabilnej wersji 1.1. Nowości w Django 1.1 to między innymi:

  • Poprawki ORM
  • Nowe możliwości modeli
  • Poprawione testy
  •  Akcje w panelu administracyjnym wykonywane na wielu obiektach jednocześnie
  • Edytowalne pola w liście obiektów w panelu administracyjnym
  • Conditional View Processing - większa kontrola nad nagłówkami E-tag i Last-Modified
  • Przestrzenie nazw URL (pozwalają teraz wielokrotnie osadzać ten sam zestaw URLi)
  • Kilka nowości w GeoDjango
  • I wiele, wiele innych