---
title: "Meán-earraí"
version: 6.1
locale: ga
source: https://docs.djangoproject.com/ga/6.1/ref/middleware/
canonical: https://djangodocs.dev/ga/6.1/ref/middleware/
---
# Meán-earraí

Míníonn an doiciméad seo gach comhpháirteanna middleware a thagann le Django. Le haghaidh faisnéise maidir le conas iad a úsáid agus conas do mheánearraí féin a scríobh, féach in:doc: treoir úsáide middleware \</topics/http/middleware\> .

## Middleware atá ar fáil

### Meán-earraí taisce

#### `class UpdateCacheMiddleware`

#### `class FetchFromCacheMiddleware`

Cumasaigh taisce ar fud an láithreáin. Má chumasaítear iad seo, déanfar gach leathanach faoi thiomáint Django a stóráil chomh fada agus a shainmhíníonn an socrú:setting: CACHE\_MIDDLEWARE\_SECONDS. Féach na:doc: cáipéisíocht taisceach \</topics/cache\>.

### Meán-earraí “Coitianta”

#### `class CommonMiddleware`

#### `response_redirect_class`

Réamhshocraithe chuig: aicme: ~django.http.httpResponsePermanentDirect. Fo-aicme `CommonMiddleware` agus athsháraigh an tréith chun na haatreoruithe arna eisiúint ag an middleware a shaincheapadh.

Cuireann sé cúpla áiseanna le haghaidh foirfeachtóirí:

- Cuireann sé cosc ar rochtain ar ghníomhairí úsáideora sa socrú:setting: DISALLOWED\_USER\_AGENTS, ar chóir a bheith ina liosta de rudaí léirithe rialta tiomsaithe.
- Déanann sé athscríobh URL bunaithe ar na socruithe:: APPEND\_SLASH agus:setting: PREPEND\_WWW.

  Más rud é: Setting: `` `True `` APPEND\_SLASH agus ní chríochnaíonn an URL tosaigh le slash, agus ní fhaightear é sa URLConf, ansin cruthaítear URL nua trí slash a chur leis ag an deireadh. Má aimsítear an URL nua seo san URLConf, ansin atreoraíonn Django an t-iarratas chuig an URL nua seo. Seachas sin, déantar an URL tosaigh a phróiseáil mar is gnách.

  Mar shampla, atreorófar `foo.com/bar` chuig `foo.com/bar/` mura bhfuil patrún URL bailí agat le haghaidh `foo.com/bar` ach tá patrún bailí aige *do* do foo.com/bar/\`.

  Más rud é: Socrú: ```PREPEND_WWW` ``True```, atreorófar URLanna nach bhfuil “www.” tosaigh orthu chuig an URL céanna le “www.” tosaigh.

  Tá an dá rogha seo i gceist URLanna a normalú. Is í an fhealsúnacht ná gur chóir go mbeadh gach URL ann in aon áit amháin, agus amháin amháin. Go teicniúil tá URL `foo.com/bar` difriúil ó `foo.com/bar/` -- déileálfadh innéacsaitheoir inneall cuardaigh leo mar URLanna ar leithligh - mar sin is fearr cleachtas é URLanna a normalú.

  Más gá, féadfar tuairimí aonair a eisiamh ón iompar `APPEND_SLASH` ag baint úsáide as an maisitheoir: :func: ~django.views.decorators.common.no\_append\_slash:

  ```
  from django.views.decorators.common import no_append_slash

  @no_append_slash
  def sensitive_fbv(request, *args, **kwargs):
      """View to be excluded from APPEND_SLASH."""
      return HttpResponse()
  ```
- Socraíonn sé an ceannteideal Content-Fad le haghaidh freagraí neamh-sruthú.

#### `class BrokenLinkEmailsMiddleware`

- Seolann sé ríomhphoist fógra nasc briste chuig: socrú: MANAGERS (féach: doc: /howto/earr-reporting).

### Meán-earraí gZip

#### `class GZipMiddleware`

#### `max_random_bytes`

Réamhshocraithe go 100. Fo-aicme `GZipMiddleware` agus athraigh an tréith chun an líon uasta na mbetaí randamacha atá san áireamh le freagraí comhbhrúite a athrú.

> **Note**
>
> Léirigh taighdeoirí slándála go bhféadfadh an suíomh a bheith nochtaithe do roinnt ionsaithe féideartha nuair a úsáidtear teicnící comhbhrúite (lena n-áirítear GzipMiddleware) ar shuíomh Gréasáin.
>
> Chun ionsaithe a mhaolú, cuireann Django teicníc ar a dtugtar Heal The Breach (HTB) \* i bhfeidhm. Cuireann sé suas le 100 beát (féach: attr: .max\_random\_bytes) de bhartha randamach le gach freagra chun na hionsaithe a dhéanamh chomh héifeachtach.
>
> Le haghaidh tuilleadh sonraí, féach an [páipéar BREACH (PDF) \`\_, \`breachattack.com](https://www.breachattack.com/resources/BREACH%20-%20SSL,%20gone%20in%2030%20seconds.pdf), agus an páipéar Heal The Breach (HTB) \_.

Comhbhrúiteann an Django.middleware.gzip.gzipMiddleware ábhar do bhrabhsálaithe a thuigeann comhbhrú GZip (gach brabhsálaí nua-aimseartha).

Ba chóir an láithreán gréasáin seo a chur os comhair aon mheánearraí eile a chaithfidh an comhlacht freagartha a léamh nó a scríobh ionas go dtarlóidh comhbhrú ina dhiaidh sin.

NÍ chomhbhrúiteoidh sé ábhar má tá aon cheann díobh seo a leanas fíor:

- Tá an corp ábhair níos lú ná 200 bytes ar fad.
- Tá an ceannteideal `Content-Encoding` socraithe ag an bhfreagra cheana féin.
- Níor sheol an iarratas (an brabhsálaí) ceannteideal `Accept-Encoding` ina bhfuil gzip\`.

Má tá ceannteideal `Etag` sa fhreagra, déantar an ETag lag chun comhlíonadh le:rfc: 9110 #section -8.8.1.

You can apply GZip compression to individual views using the
[`gzip_page()`](/ga/6.1/topics/http/decorators/#django.views.decorators.gzip.gzip_page) decorator.

### Meán-earraí coinníollach GET

#### `class ConditionalGetMiddleware`

Láimhseálann oibríochtaí coinníollach Mura bhfuil ceannteideal ```Etag ``sa fhreagra, cuireann an middleware ceann leis más gá. Má tá ceannteideal ``Etag``` nó `Last-Modified` sa fhreagra, agus má tá `If-Non-Match` nó `If-Modhified-Since` sa iarraidh, cuirtear an:class: ~django.http.httpResponseNotModified in ionad an fhreagra.

You can handle conditional GET operations with individual views using the
[`conditional_page()`](/ga/6.1/topics/http/decorators/#django.views.decorators.http.conditional_page) decorator.

### Middleware Áitiúil

#### `class LocaleMiddleware`

#### `response_redirect_class`

Réamhshocraithe chuig: aicme: ~django.http.httpResponsereDirect. Fo-aicme `LocalEmiddleware` agus athsháraigh an tréith chun na haatreoruithe arna eisiúint ag an middleware a shaincheapadh.

Cumasaíonn sé roghnú teanga bunaithe ar shonraí ón iarratas. Saincheapann sé ábhar do gach úsáideoir. Féach na:doc: doiciméadú idirnáisiúnaithe\</topics/i18n/translation\> '.

### Meán-earraí teachtaireachta

#### `class MessageMiddleware`

Cumasaíonn sé tacaíocht teachtaireachtaí bunaithe ar fhianán agus seisiún. Féach na:doc: \</ref/contrib/messages\> doiciméadú teachtaireachtaí.

### Meán-earraí slándála

> **Warning**
>
> Má cheadaíonn do staid imscartha, is smaoineamh maith de ghnáth go mbeidh do fhreastalaí gréasáin tosaigh an fheidhmiúlacht a sholáthraíonn an “SecurityMiddleware” a chomhlíonadh. Ar an mbealach sin, má tá iarratais ann nach bhfreastalaíonn Django (mar shampla meáin statacha nó comhaid uaslódáilte ón úsáideoir), beidh na cosaintí céanna acu le hiarratais chuig d'iarratas Django.

#### `class SecurityMiddleware`

Soláthraíonn an `django.middleware.security.securityMiddleware` roinnt feabhsuithe slándála don timthriall iarrata/freagartha. Is féidir gach ceann a chumasú nó a dhíchumasú go neamhspleách le socrú.

- [`SECURE_CONTENT_TYPE_NOSNIFF`](/ga/6.1/ref/settings/#std-setting-SECURE_CONTENT_TYPE_NOSNIFF)
- [`SECURE_CROSS_ORIGIN_OPENER_POLICY`](/ga/6.1/ref/settings/#std-setting-SECURE_CROSS_ORIGIN_OPENER_POLICY)
- [`SECURE_HSTS_INCLUDE_SUBDOMAINS`](/ga/6.1/ref/settings/#std-setting-SECURE_HSTS_INCLUDE_SUBDOMAINS)
- [`SECURE_HSTS_PRELOAD`](/ga/6.1/ref/settings/#std-setting-SECURE_HSTS_PRELOAD)
- [`SECURE_HSTS_SECONDS`](/ga/6.1/ref/settings/#std-setting-SECURE_HSTS_SECONDS)
- [`SECURE_REDIRECT_EXEMPT`](/ga/6.1/ref/settings/#std-setting-SECURE_REDIRECT_EXEMPT)
- [`SECURE_REFERRER_POLICY`](/ga/6.1/ref/settings/#std-setting-SECURE_REFERRER_POLICY)
- [`SECURE_SSL_HOST`](/ga/6.1/ref/settings/#std-setting-SECURE_SSL_HOST)
- [`SECURE_SSL_REDIRECT`](/ga/6.1/ref/settings/#std-setting-SECURE_SSL_REDIRECT)

#### Slándáil Iompair Dhian HTTP

Maidir le suíomhanna ar chóir rochtain a fháil orthu ach thar HTTPS, is féidir leat treoir a thabhairt do bhrabhsálaithe nua-aimseartha diúltú ceangal le d'ainm fearainn trí nasc neamhchinnte (ar feadh tréimhse áirithe ama) tríd an gceannteideal "Strict-Transport-Security” a shocrú. Laghdaíonn sé seo do nochtadh do roinnt ionsaithe fear in-the-lár (MITM) a tharraingt SSL.

Socróidh `SecurityMiddleware` an ceannteideal seo duit ar gach freagra HTTPS má shocraíonn tú an socrú: SECURE\_HSTS\_SECONDS go luach sláimhir neamh-nialasach.

\<SECURE\_HSTS\_SECONDS\>Agus HSTS á chumasú agat, is smaoineamh maith é luach beag a úsáid ar dtús le haghaidh tástála, mar shampla, :setting: SECURE\_HSTS\_SECONDS = 3600 ar feadh uair an chloig. Gach uair a fheiceann brabhsálaí gréasáin ceanntásc HSTS ó do shuíomh, diúltóidh sé cumarsáid a dhéanamh neamh-shábháilte (ag baint úsáide as HTTP) le do fearainn ar feadh na tréimhse ama ar leith. Nuair a dheimhníonn tú go ndéantar na sócmhainní go léir a sheirbheáil go daingean ar do shuíomh (ie nár bhris HSTS aon rud), is smaoineamh maith é an luach seo a mhéadú ionas go gcosnófar cuairteoirí annamh (tá 31536000 soicind, ie 1 bhliain, coitianta).

Ina theannta sin, má shocraíonn tú an socrú:setting: SECURE\_HSTS\_INCLUDE\_SUBDOMAINS go True\`, cuirfidh `SecurityMiddleware` an treoir includeSubdomains\` leis an gceannteideal Strict-Transport-Security . Moltar é seo (ag glacadh leis go ndéantar gach fofhearann a sheirbheáil go heisiach ag úsáid HTTPS), ar shlí eile d'fhéadfadh do shuíomh a bheith leochaileach fós trí nasc neamhchinnte le fo-fhearann.

Más mian leat do shuíomh a chur isteach chuig an [liosta réamh-luchtaithe brabhsálaí](https://hstspreload.org/), socraigh an socrú:setting: SECURE\_HSTS\_PRELOAD go `True`. Cuireann sé sin an treoir `réamh-ualacha` leis an gceannteideal Strict-Transport-Security .

> **Warning**
>
> Baineann beartas HSTS le do fhearann iomlán, ní amháin URL an fhreagra ar shocraigh tú an ceannteideal air. Dá bhrí sin, níor cheart duit é a úsáid ach amháin má sheirbheáltar do fearainn iomlán trí HTTPS amháin.
>
> Diúltóidh brabhsálaithe a bhfuil meas acu i gceart ceanntásc HSTS ligean d'úsáideoirí rabhaidh a sheachbhóthar agus ceangal le suíomh a bhfuil deimhniú SSL in éag, féinshínithe nó neamhbhailí Má úsáideann tú HSTS, déan cinnte go bhfuil do theastais i gcruth maith agus fan ar an mbealach sin!

> **Note**
>
> Má tá tú imscartha taobh thiar de chothromóir ualaigh nó freastalaí seachfhreastalaí droim, agus mura bhfuil an ceannteideal Strict-Transport-Security \`\`á chur le do chuid freagraí, b'fhéidir nach dtuigeann Django go bhfuil sé ar nasc slán; b'fhéidir go mbeidh ort an socrú: \`SECURE\_PROXY\_SSL\_HEADER a shocrú.

#### Polasaí Atreoraithe

Úsáideann brabhsálaí an ceannteideal Referer \_\_ mar bhealach chun faisnéis a sheoladh chuig suíomh faoin gcaoi a ndeachaigh úsáideoirí ann. Nuair a chliceálann úsáideoir ar nasc, seolfaidh an brabhsálaí URL iomlán an leathanaigh nasctha mar an atreoróir. Cé go bhféadfadh sé seo a bheith úsáideach chun críocha áirithe - cosúil le fáil amach cé atá ag nascadh le do shuíomh - is féidir leis imní príobháideachta a bheith ina chúis freisin trí shuíomh amháin a chur ar an eolas go raibh úsáideoir ag tabhairt cuairte ar shuíomh eile.

Tá sé de chumas ag roinnt brabhsálaithe glacadh le leideanna faoin gceannteideal HTTP `Referer` a sheoladh nuair a chliceálann úsáideoir ar nasc; cuirtear an leid seo ar fáil tríd an ceannteideal Attreor-Polasaí \_\_. Is féidir leis an gceanntásc seo aon cheann de thrí iompraíocht a mholadh do bh

- URL iomlán: seol an URL iomlán sa cheannteideal `Referer`. Mar shampla, má tá an t-úsáideoir ag tabhairt cuairte ar `https://example.com/page.html`, bheadh `” https://example.com/page.html “` sa cheannteideal `Referer`.
- Bunús amháin: seol ach an “bunús” sa atreoróir. Is éard atá sa tionscnamh ná an scéim, an t-óstach agus (roghnach) uimhir an chalafoirt. Mar shampla, má tá an t-úsáideoir ag tabhairt cuairte ar `https://example.com/page.html`, bheadh an bunús ná `https://example.com/`.
- Gan aon atreoróir: ná seol ceannteideal `Referer` ar chor ar bith.

Tá dhá chineál coinníollacha ann is féidir leis an gceanntásc seo a rá do bhrabhsálaí chun aire a thabhairt orthu:

- An tionscnamh céanna i gcoinne trasbhunús: tá nasc ó `https://example.com/1.html` go `https://example.com/2.html` an tionscnamh céanna. Tá nasc ó `https://example.com/page.html` go `https://not.example.com/page.html` trasbhunús.
- Íosghrádú prótacal: tarlaíonn íosghrádú má sheirbheáltar an leathanach ina bhfuil an nasc trí HTTPS, ach ní sheirbheálfar an leathanach atá nasctha leis trí HTTPS.

> **Warning**
>
> Nuair a sheirbheáltar ar do shuíomh trí HTTPS, :ref: Éil \<how-csrf-works\>íonn córas cosanta CSRF Django \`go mbeidh ceannteideal \`\`Referer i láthair, mar sin cuirfear isteach ar an gceannteideal Referer\` a dhíchumasú go hiomlán ar chosaint CSRF. Chun an chuid is mó de na buntáistí a bhaineann le ceanntásca Referer\` a dhíchumasú agus cosaint CSRF a choinneáil freisin, smaoinigh ar atreoróirí den bhunús céanna a chumasú.

Is féidir le SecurityMiddleware\` ceannteideal `Referrer-Policy` a shocrú duit, bunaithe ar an socrú:setting: SECURE\_REFERRER\_POLICY \`(nóta litriú: seolann brabhsálaí ceannteideal \`\`Referer\` nuair a chliceálann úsáideoir ar nasc, ach litrítear Referrer-Policy\` sa cheannteideal a thugann brabhsálaí an cheart é sin a dhéanamh). Is iad na luachanna bailí don socrú seo ná:

**`` `no-atreoraitheoir ``**

  Treoraíonn sé don bhrabhsálaí gan aon atreoróir a sheoladh le haghaidh naisc a chliceáltar ar an suíomh seo.

**níl aon atreorú-nuair a dhéantar íosghrádú \`\`**

  Treoraíonn sé don bhrabhsálaí URL iomlán a sheoladh mar an atreoróir, ach ach amháin nuair nach dtarlaíonn aon íosghrádú prótacal.

**`` `bunaidh ``**

  Treoraíonn sé don bhrabhsálaí an bunús amháin a sheoladh, ní an URL iomlán, mar an atreoróir.

**`bunaidh-nuain-tras-bhunaithe`**

  Treoraíonn sé don bhrabhsálaí an URL iomlán a sheoladh mar an atreoróir do naisc den bhunús céanna, agus gan ach an bunús do naisc trasbhunús.

**`` `an tionscnamh céann ``**

  Treoraíonn sé don bhrabhsálaí URL iomlán a sheoladh, ach amháin le haghaidh naisc den bhunús céanna. Ní sheolfar aon atreoróir le haghaidh naisc trasbhunús.

**tionscnamh docht \`\`**

  Treoraíonn sé don bhrabhsálaí an bunús amháin a sheoladh, ní an URL iomlán, agus gan aon atreoróir a sheoladh nuair a tharlaíonn íosghrádú prótacal.

**`tionscnamh docht - nuair a bhíonn sé tras-bhunaithe`**

  Treoraíonn sé don bhrabhsálaí an URL iomlán a sheoladh nuair a bhíonn an nasc den bhunús céanna agus ní tharlaíonn aon íosghrádú prótacal; seol ach an bunús nuair a bhíonn an nasc trasbhunús agus ní tharlaíonn aon íosghrádú prótacal; agus níl aon atreoróir nuair a tharlaíonn íosghrádú prótacal.

**`URL neamhshábháilte`**

  Treoraíonn sé don bhrabhsálaí an URL iomlán a sheoladh mar an atreoróir i gcónaí.

> **Luachanna beartais anaithnid**
>
> I gcás ina bhfuil luach beartais gan eolas \`\_\_ ag gníomhaire úsáideora, is féidir luachanna polasaí iolracha a shonrú chun titim a sholáthar. Tá tosaíocht ag an luach sonraithe deireanach a thuigtear. Chun tacú leis seo, is féidir teaghrán athraitheach nó scartha le camóg a úsáid le:setting: \`SECURE\_REFERRER\_POLICY.

#### Polasaí Oscailte Tras-Bhunús

Tá sé de chumas ag roinnt brabhsálaithe fuinneoga barrleibhéil a leithlisiú ó dhoiciméid eile trí iad a chur i ngrúpa comhthéacs brabhsála ar leithligh bunaithe ar luach an cheanntásc Polasaí Oscailte Tras-Origin \`\_\_ (COOP). Má osclaíonn doiciméad atá ar leithligh ar an mbealach seo fuinneog aníos tras-bhunús, beidh “null\` maoin windoww.opener\` an popup. Is cosaint domhain cosanta é fuinneoga a leithlisiú ag úsáid COOP i gcoinne ionsaithe trasbhunús, go háirithe iad siúd cosúil le Spectre a cheadaigh easscagadh sonraí a luchtaithe i gcomhthéacs brabhsála

Is féidir le `SecurityMiddleware` an ceannteideal `` `Cross-Origin-Opener-Policy `` a shocrú duit, bunaithe ar an socrú:setting: SECURE\_CROSS\_ORIGIN\_OPENER\_POLICY. Is iad na luachanna bailí don socrú seo ná:

**`` `an tionscnamh céann ``**

  Déanann sé an comhthéacs brabhsála a leithliú go heisiach go doiciméid Ní luchtaítear cáipéisí trasbhunús sa chomhthéacs brabhsála céanna. Is é seo an rogha réamhshocraithe agus is sábháilte.

**`` `an bunaidh céann-ligead-popups ``**

  Déanann sé an comhthéacs brabhsála a leithlisiú chuig doiciméid den bhunús céanna nó iad siúd nach leagann COOP nó a roghnaíonn as aonrú trí COOP de “unsábháilte” a shocrú.

**`` `neamhshábháilt-neamh ``**

  Ligeann sé an doiciméad a chur le grúpa comhthéacs brabhsála a oscailteora mura bhfuil COOP de `same-origin` nó `same-origin-allow-popups` ag an oscailteoir féin.

#### `Roghanna Cineál-Ábhar X-: nosniff`

Déanfaidh roinnt brabhsálaithe iarracht tuairim a dhéanamh ar chineálacha ábhair na sócmhainní a fhaigheann siad, ag dul i bhfeidhm ar an gceannteideal `Content-Type`. Cé gur féidir leis seo cabhrú le suíomhanna a thaispeáint le freastalaithe atá cumraithe míchuí, féadann sé riosca slándála

Má fhreastalaíonn do shuíomh comhaid uaslódáilte ón úsáideoir, d'fhéadfadh úsáideoir mailíseach comhad atá déanta go speisialta a uaslódáil a léirmhíníodh mar HTML nó JavaScript ag an mbrabhsálaí nuair a bhíothas ag súil go mbeadh

To prevent the browser from guessing the content type and force it to
always use the type provided in the `Content-Type` header, you can pass
the  header. `SecurityMiddleware` will
do this for all responses if the [`SECURE_CONTENT_TYPE_NOSNIFF`](/ga/6.1/ref/settings/#std-setting-SECURE_CONTENT_TYPE_NOSNIFF) setting
is `True`.

Tabhair faoi deara, i bhformhór na gcásanna imscartha nach bhfuil baint ag Django le freastal ar chomhaid uaslódáilte ón úsáideoir, ní chabhróidh an suíomh Mar shampla, má sheirbheálann do fhreastalaí gréasáin tosaigh (nginx, Apache, srl.) go díreach do: setting: MEDIA\_URL ansin ba mhaith leat an ceannteideal seo a shocrú ann. Ar an láimh eile, má tá Django á úsáid agat chun rud éigin a dhéanamh mar údarú ag teastáil chun comhaid a íoslódáil agus ní féidir leat an ceanntásc a shocrú ag baint úsáide as do fhreastalaí gréasáin, beidh an socrú seo úsáideach.

#### Atreorú SSL

Má thairgeann do shuíomh naisc HTTP agus HTTPS araon, beidh nasc neamhshlánaithe ag mórchuid na n-úsáideoirí de réir réamhshocraithe. Ar mhaithe le slándáil is fearr, ba cheart duit gach nasc HTTP a atreorú chuig HTTPS.

Má shocraíonn tú an socrú:setting: SECURE\_SSL\_REDIRECT go True, atreoróidh `SecurityMiddleware` go buan (HTTP 301) gach nasc HTTP chuig HTTPS.

> **Note**
>
> Ar chúiseanna feidhmíochta, is fearr na haatreoruithe seo a dhéanamh lasmuigh de Django, i gcothromaitheoir ualaigh tosaigh nó i bhfreastalaí seachfhreastalaí droim mar [nginx](https://nginx.org/). :setting: Tá SECURE\_SSL\_REDIRECT beartaithe do na cásanna imscartha nach rogha é seo.

Má tá luach ag an socrú:setting: SECURE\_SSL\_HOST, seolfar gach athsheoladh chuig an óstach sin in ionad an óstach a iarrtar go bunaidh.

Má tá cúpla leathanach ar do shuíomh ar chóir go mbeadh ar fáil thar HTTP, agus gan iad a atreorú chuig HTTPS, is féidir leat nathanna rialta a liostáil chun na URLanna sin a mheaitseáil sa socrú:setting: SECURE\_REDIRECT\_EXEMPT.

> **Note**
>
> Má tá tú imscartha taobh thiar de chothromaitheoir ualaigh nó freastalaí seachfhreastalaí droim agus má chosúil nach féidir le Django a rá cathain a bhíonn iarratas slán cheana féin, b'fhéidir go mbeidh ort an socrú:setting: SECURE\_PROXY\_SSL\_HEADER a shocrú.

### Meán-earraí seisiúin

#### `class SessionMiddleware`

Cumasaíonn tacaíocht seisiún. Féach na:doc: doiciméadú seisiúin \</topics/http/sessions\>.

### Láithreán Middleware

#### `class CurrentSiteMiddleware`

Cuireann sé an tréith `láithre` a léiríonn an suíomh reatha le gach réad HttpRequest atá ag teacht isteach. \<site-middleware\>Féach an doiciméadúcháin: suíomhanna .

### Meán-earraí fíordheimhnithe

#### `class AuthenticationMiddleware`

Cuireann sé an tréith ```úsáideoir ``, a léiríonn an t-úsáideoir logáilte isteach faoi láthair, le gach réad ``HttpRequest``` atá ag teacht isteach. \<auth-web-requests\>Féach:ref: Fíordheimhniú in iarratais gréasáin .

#### `class LoginRequiredMiddleware`

Fo-aicmiú na meán-earraí agus athraigh na tréithe agus na modhanna seo a leanas chun iompar a shaincheapadh d'iarratais neamhfhíordheimhnithe.

#### `redirect_field_name`

Réamhshocraithe go "eile” .

#### `get_login_url()`

Tugann sé an URL ar ais a atreorófar iarratais neamhfhíordheimhnithe chuig. \<LOGIN\_URL\>Is é an toradh seo an ```login_url ``atá leagtha síos ar:func: `~django.contrib.auth.decorators.login_required` maisitheoir (mura bhfuil ``None```), nó: setting: Settings.login\_url .

#### `get_redirect_field_name()`

Tugann sé ainm an pharaiméadair fiosrúcháin ina bhfuil an URL ba chóir an t-úsáideoir a atreorú chuig tar éis logáil isteach rathúil. Is é an toradh seo an `redirect_field_name` atá leagtha síos ar:func: ~.django.contrib.auth.decorators.login\_required maisitheoir (mura bhfuil `None`), nó:attr: redirect\_field\_name. Má chuirtear None ar ais, ní chuirfear paraiméadar fiosrúcháin leis.

Atreoraíonn gach iarratas neamhfhíordheimhnithe chuig leathanach logála isteach, ach amháin tuairimí a eisiamh la:func: ~.django.contrib.auth.decorators.login\_not\_required. \<LOGIN\_URL\>Tá an leathanach logála isteach réamhshocraithe to:setting: Settings.login\_url , ach is féidir é a shaincheapadh.

Cumasaigh an middleware seo tríd é a chur leis an socrú:setting: MIDDLEWARE **iar-**:class: ~django.contrib.auth.middleware.AuthenticationMiddleware:

```
MIDDLEWARE = [
    "...",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    "django.contrib.auth.middleware.LoginRequiredMiddleware",
    "...",
]
```

Déan radharc poiblí, ag ceadú iarratais neamhfhíordheimhnithe, le:func: ~.django.contrib.auth.decorators.login\_not\_required. Mar shampla:

```
from django.contrib.auth.decorators import login_not_required

@login_not_required
def contact_us(request): ...
```

Saincheap an URL logála isteach nó ainm réimse le haghaidh tuairimí fíordheimhnithe leis an maisitheoir: func: ~.django.contrib.auth.decorators.login\_required chun ```login_url ``nó ``redirect_field_name``` a shocrú faoi seach. Mar shampla:

```
from django.contrib.auth.decorators import login_required
from django.utils.decorators import method_decorator
from django.views.generic import View

@login_required(login_url="/books/login/", redirect_field_name="redirect_to")
def book_dashboard(request): ...

@method_decorator(
    login_required(login_url="/books/login/", redirect_field_name="redirect_to"),
    name="dispatch",
)
class BookMetrics(View):
    pass
```

> **Déan cinnte nach dteastaíonn logáil isteach ó d'amharc logála isteach.**
>
> \<disable-login-required-middleware-for-views\>Chun atreoruithe gan teorainn a chosc, déan cinnte go bhfuil: ref: iarratais neamhfhíordheimhnithe cumasaithe agat chuig d'amharc logála isteach.

#### `class RemoteUserMiddleware`

Middleware for utilizing web server provided authentication. See
[Conas fíordheimhniú ag baint úsáide as REMOTE\_USER](/ga/6.1/howto/auth-remote-user/) for usage details, including security
considerations.

#### `class PersistentRemoteUserMiddleware`

Middleware for utilizing web server provided authentication when enabled
only on the login page. See [Ag baint úsáide as REMOTE\_USER ar leathanaigh logála isteach amháin](/ga/6.1/howto/auth-remote-user/#persistent-remote-user-middleware-howto)
for usage details, including security considerations.

### Meán-earraí cosanta CSRF

#### `class CsrfViewMiddleware`

Cuireann sé cosaint i gcoinne Brionnaithe Iarratais Trasláithreáin trí réimsí foirme i bhfolach a chur le foirmeacha POST agus iarratais ar an luach ceart Féach na:doc: Doiciméadú cosanta bréagán a iarraidh ar thrasláithreach' \</ref/csrf\>.

You can add Cross Site Request Forgery protection to individual views
using the [`csrf_protect()`](/ga/6.1/ref/csrf/#django.views.decorators.csrf.csrf_protect) decorator.

### Meán-earraí `Roghanna Fráma X-`

#### `class XFrameOptionsMiddleware`

Simple:doc: cosaint clickjac\</ref/clickjacking/\> king tríd an gceannteideal X-Frame-Options'.

### Content Security Policy middleware

#### `class ContentSecurityPolicyMiddleware`

> **New in Django 6.0**

Adds support for Content Security Policy (CSP), which helps mitigate risks such
as Cross-Site Scripting (XSS) and data injection attacks by controlling the
sources of content that can be loaded in the browser. See the
[Forbhreathnú](/ga/6.1/ref/csp/#csp-overview) documentation for details on configuring policies.

This middleware sets the following headers on the response depending on the
available settings:

- `Content-Security-Policy`, based on [`SECURE_CSP`](/ga/6.1/ref/settings/#std-setting-SECURE_CSP).
- `Content-Security-Policy-Report-Only`, based on
  [`SECURE_CSP_REPORT_ONLY`](/ga/6.1/ref/settings/#std-setting-SECURE_CSP_REPORT_ONLY).

## Ordú Middleware

Seo roinnt leideanna faoi ordú ranganna éagsúla middleware Django:

1. [`SecurityMiddleware`](#django.middleware.security.SecurityMiddleware)

   Ba chóir go dtéann sé gar do bharr an liosta má tá tú chun an t-atreorú SSL a chasadh air mar seachnaíonn sé sin rith trí dornán de mheán-earraí neamhriachtanacha eile.
2. [`UpdateCacheMiddleware`](#django.middleware.cache.UpdateCacheMiddleware)

   Roimh iad siúd a mhodhnóidh an ceannteideal `Vary` (SessionMiddleware\`, GzipMiddleware\`, LocalEmiddleware\`).
3. [`GZipMiddleware`](#django.middleware.gzip.GZipMiddleware)

   Roimh aon mheán-earraí a d'fhéadfadh an comhlacht freagartha a athrú nó a úsáid.

   Tar éis `UpdateCacheMiddleware`: Athraíonn sé ceannteideal `` `Vary ``.
4. [`SessionMiddleware`](#django.contrib.sessions.middleware.SessionMiddleware)

   Roimh aon mheán-earraí a d'fhéadfadh eisceacht a ardú chun dearcadh earráide a spreagadh (mar shampla:exc: ~Django.Core.Exceptions.PermissionDenied) má tá tú ag baint úsáidea:setting: CSRF\_USE\_SESSIONS.

   Tar éis `UpdateCacheMiddleware`: Athraíonn sé ceannteideal `` `Vary ``.
5. [`ConditionalGetMiddleware`](#django.middleware.http.ConditionalGetMiddleware)

   Roimh aon mheán-earraí a d'fhéadfadh an freagra a athrú (socraíonn sé an ceannteideal Etag ).

   Tar éis `GzipMiddleware` mar sin ní ríomh sé ceannteideal `Etag` ar ábhar gzipped.
6. [`LocaleMiddleware`](#django.middleware.locale.LocaleMiddleware)

   Ceann de na cinn is barr, tar éis `SessionMiddleware` (úsáideann sonraí seisiúin) agus `UpdateCacheMiddleware` (athraíonn sé ceannteideal `Vary`).
7. [`CommonMiddleware`](#django.middleware.common.CommonMiddleware)

   Roimh aon mheán-earraí a d'fhéadfadh an freagra a athrú (socraíonn sé an ceannteideal `Content-Length`). Ní mór do mheán-earraí atá le feiceáil roimh `CommonMiddleware` agus a athraíonn an freagra `Content-Length` a athshocrú.

   In aice leis an mbarr: atreoraíonn sé nuair:setting: APPEND\_SLASH nó:setting: PREPEND\_WWW socraítear go `True`.

   Tar éis `SessionMiddleware` má tá tú ag baint úsáidea:setting: CSRF\_USE\_SESSIONS.
8. [`CsrfViewMiddleware`](#django.middleware.csrf.CsrfViewMiddleware)

   Roimh aon fheiceáil middleware a ghlacann leis gur déileáladh le hionsaithe CSRF.

   Roimhe Sean:Class: ~django.contrib.auth.middleware.remoteUserMiddleware, nó aon mheán-earraí fíordheimhnithe eile a d'fhéadfadh logáil isteach a dhéanamh, agus dá bhrí sin an comhartha CSRF a rothlú, sula nglaonn sé síos an slabhra middleware.

   Tar éis `SessionMiddleware` má tá tú ag baint úsáidea:setting: CSRF\_USE\_SESSIONS.
9. [`AuthenticationMiddleware`](#django.contrib.auth.middleware.AuthenticationMiddleware)

   Tar éis `SessionMiddleware`: úsáideann sé stóráil seisiúin.
10. [`LoginRequiredMiddleware`](#django.contrib.auth.middleware.LoginRequiredMiddleware)

    Tar éis `AuthenticationMiddleware`: úsáideann réad úsáideora.
11. [`MessageMiddleware`](#django.contrib.messages.middleware.MessageMiddleware)

    Tar éis `SessionMiddleware`: is féidir le stóráil seisiúin-bhunaithe a úsáid.
12. [`FetchFromCacheMiddleware`](#django.middleware.cache.FetchFromCacheMiddleware)

    Tar éis aon mheán-earraí a mhodhnóidh an ceannteideal `Vary`: úsáidtear an ceannteideal sin chun luach a roghnú don eochair hash-taisce.
13. [`ContentSecurityPolicyMiddleware`](#django.middleware.csp.ContentSecurityPolicyMiddleware)

    Can be placed near the bottom, but since the [csp\_nonce](/ga/6.1/ref/csp/#csp-nonce) is
    lazy, ensure any middleware that accesses it is positioned after, so the
    nonce is generated before this middleware builds the response header.
14. [`FlatpageFallbackMiddleware`](/ga/6.1/ref/contrib/flatpages/#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware)

    Ba chóir go mbeadh sé gar don bhun mar is cineál lár-earraí deireanach é.
15. [`RedirectFallbackMiddleware`](/ga/6.1/ref/contrib/redirects/#django.contrib.redirects.middleware.RedirectFallbackMiddleware)

    Ba chóir go mbeadh sé gar don bhun mar is cineál lár-earraí deireanach é.
