Nótaí scaoilte Django 1.3.5Link to this heading

10 Nollaig, 2012

Tugann Django 1.3.5 aghaidh ar dhá shaincheist slándála i láthair in eisiúintí Django roimhe seo sa tsraith 1.3.

Tabhair faoi deara go bhfuil an eisiúint slándála seo beagán difriúil ó na cinn roimhe seo. Déileáladh leis an dá shaincheist a ndearnadh aghaidh orthu anseo i nuashonruithe slándála roimhe seo I gcás amháin, tá tuairiscí leanúnacha faighte againn ar fhadhbanna, agus sa chás eile roghnaigh muid céimeanna breise a ghlacadh chun cód Django a dhaingniú mar fhreagairt ar fhadhbanna féideartha go neamhspleách ó fhoinsí iolracha.

Nimhiú ceanntásc óstáLink to this heading

Dhírigh roinnt eisiúintí slándála Django níos luaithe ar an gceist maidir le nimhiú ceanntásc an Óstríomhaire HTTP, rud a fhágann gur ghin Django URLanna a dhírigh ar fhearainn treallacha a d’fhéadfadh a bheith mailíseach.

Mar fhreagra ar ionchur breise a fuarthas agus tuairiscí faoi shaincheisteanna leanúnacha tar éis an eisiúint roimhe seo, táimid ag glacadh céimeanna breise chun bailíochtú ceann Seachas iarracht a dhéanamh freastal ar na gnéithe go léir a thacaíonn HTTP anseo, déanann bailíochtú ceanntásc Óstach Django tacú le fo-thacar níos lú, ach i bhfad níos coitianta:

  • Caithfidh carachtair ``[a-Za-Z0-9] `móide hiphen ('-') nó ponc ('.') a bheith comhdhéanta d'ainmneacha óstach.

  • Ceadaítear seoltaí IP - IPv4 agus IPv6 araon.

  • Tá calafort, má shonraítear é, uimhriúil.

Diúltófar aon diall ó seo anois, ag ardú an eisceacht:exc: Django.Core.Exceptions.SuspiciousOperation.

Nimhiú a atreorúLink to this heading

Ag leanúint ar shaincheist roimhe seo freisin: i mí Iúil na bliana seo, rinneamar athruithe ar ranganna atreoraithe HTTP Django, ag déanamh bailíochtú breise ar scéim an URL chun a atreorú chuig (ós rud é, laistigh d'iarratais soláthraithe Django féin agus go leor iarratais tríú páirtí, is patrún coitianta é glacadh le sprioc atreoraithe a sholáthraíonn an úsáideoir).

Ó shin i leith, chuir dhá iniúchadh neamhspleách ar an gcód fadhbanna féideartha breise. Mar sin, cosúil leis an gceist Ceannteideal Óstach, táimid ag glacadh céimeanna chun bailíochtú níos déine a sholáthar mar fhreagra ar fhadhbanna tuairiscithe (go príomha le feidhmchláir tríú páirtí, ach go pointe áirithe laistigh de Django féin Tagann sé seo i dhá chuid:

1. A new utility function, django.utils.http.is_safe_url, is added; this function takes a URL and a hostname, and checks that the URL is either relative, or if absolute matches the supplied hostname. This function is intended for use whenever user-supplied redirect targets are accepted, to ensure that such redirects cannot lead to arbitrary third-party sites.

2. All of Django's own built-in views -- primarily in the authentication system -- which allow user-supplied redirect targets now use is_safe_url to validate the supplied URL.