{"title":"Meán-earraí","version":"6.1","locale":"ga","docname":"ref/middleware","url":"/ga/6.1/ref/middleware/","canonical":"https://djangodocs.dev/ga/6.1/ref/middleware/","summary":"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…","html":"<span id=\"middleware\"></span><h1>Meán-earraí<a class=\"heading-anchor\" href=\"#module-django.middleware\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>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: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>treoir úsáide middleware &lt;/topics/http/middleware&gt; <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n<section id=\"available-middleware\">\n<h2>Middleware atá ar fáil<a class=\"heading-anchor\" href=\"#available-middleware\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"module-django.middleware.cache\">\n<span id=\"cache-middleware\"></span><h3>Meán-earraí taisce<a class=\"heading-anchor\" href=\"#module-django.middleware.cache\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.cache.UpdateCacheMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">UpdateCacheMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.middleware.cache.UpdateCacheMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.cache.FetchFromCacheMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">FetchFromCacheMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.middleware.cache.FetchFromCacheMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>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 &lt;/topics/cache&gt;.</p>\n</section>\n<section id=\"module-django.middleware.common\">\n<span id=\"common-middleware\"></span><h3>Meán-earraí “Coitianta”<a class=\"heading-anchor\" href=\"#module-django.middleware.common\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.common.CommonMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CommonMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.middleware.common.CommonMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.common.CommonMiddleware.response_redirect_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">response_redirect_class</span></span><a class=\"heading-anchor\" href=\"#django.middleware.common.CommonMiddleware.response_redirect_class\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Réamhshocraithe chuig: aicme: ~django.http.httpResponsePermanentDirect. Fo-aicme <code class=\"docutils literal notranslate\"><span class=\"pre\">CommonMiddleware</span></code> agus athsháraigh an tréith chun na haatreoruithe arna eisiúint ag an middleware a shaincheapadh.</p>\n</dd></dl>\n\n</dd></dl>\n\n<p>Cuireann sé cúpla áiseanna le haghaidh foirfeachtóirí:</p>\n<ul>\n<li><p>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.</p></li>\n<li><p>Déanann sé athscríobh URL bunaithe ar na socruithe:: APPEND_SLASH agus:setting: PREPEND_WWW.</p>\n<p>Más rud é: Setting: <code class=\"docutils literal notranslate\"><span class=\"pre\">`True</span></code> 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.</p>\n<p>Mar shampla, atreorófar <code class=\"docutils literal notranslate\"><span class=\"pre\">foo.com/bar</span></code> chuig <code class=\"docutils literal notranslate\"><span class=\"pre\">foo.com/bar/</span></code> mura bhfuil patrún URL bailí agat le haghaidh <code class=\"docutils literal notranslate\"><span class=\"pre\">foo.com/bar</span></code> ach tá patrún bailí aige <em>do</em> do foo.com/bar/`.</p>\n<p>Más rud é: Socrú: <code class=\"docutils literal notranslate\"><span class=\"pre\">PREPEND_WWW`</span> <span class=\"pre\">``True</span></code>, atreorófar URLanna nach bhfuil “www.” tosaigh orthu chuig an URL céanna le “www.” tosaigh.</p>\n<p>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 <code class=\"docutils literal notranslate\"><span class=\"pre\">foo.com/bar</span></code> difriúil ó <code class=\"docutils literal notranslate\"><span class=\"pre\">foo.com/bar/</span></code> -- déileálfadh innéacsaitheoir inneall cuardaigh leo mar URLanna ar leithligh - mar sin is fearr cleachtas é URLanna a normalú.</p>\n<p>Más gá, féadfar tuairimí aonair a eisiamh ón iompar <code class=\"docutils literal notranslate\"><span class=\"pre\">APPEND_SLASH</span></code> ag baint úsáide as an maisitheoir: :func: ~django.views.decorators.common.no_append_slash:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.views.decorators.common</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">no_append_slash</span>\n\n\n<span class=\"nd\">@no_append_slash</span>\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">sensitive_fbv</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"o\">*</span><span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">):</span>\n<span class=\"w\">    </span><span class=\"sd\">&quot;&quot;&quot;View to be excluded from APPEND_SLASH.&quot;&quot;&quot;</span>\n    <span class=\"k\">return</span> <span class=\"n\">HttpResponse</span><span class=\"p\">()</span>\n</code></pre></div>\n</li>\n<li><p>Socraíonn sé an ceannteideal <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Content-Fad <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>le haghaidh freagraí neamh-sruthú.</p></li>\n</ul>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.common.BrokenLinkEmailsMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BrokenLinkEmailsMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.middleware.common.BrokenLinkEmailsMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<ul class=\"simple\">\n<li><p>Seolann sé ríomhphoist fógra nasc briste chuig: socrú: MANAGERS (féach: doc: /howto/earr-reporting).</p></li>\n</ul>\n</section>\n<section id=\"module-django.middleware.gzip\">\n<span id=\"gzip-middleware\"></span><h3>Meán-earraí gZip<a class=\"heading-anchor\" href=\"#module-django.middleware.gzip\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.gzip.GZipMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GZipMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.middleware.gzip.GZipMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.gzip.GZipMiddleware.max_random_bytes\">\n<span class=\"sig-name descname\"><span class=\"pre\">max_random_bytes</span></span><a class=\"heading-anchor\" href=\"#django.middleware.gzip.GZipMiddleware.max_random_bytes\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Réamhshocraithe go 100. Fo-aicme <code class=\"docutils literal notranslate\"><span class=\"pre\">GZipMiddleware</span></code> agus athraigh an tréith chun an líon uasta na mbetaí randamacha atá san áireamh le freagraí comhbhrúite a athrú.</p>\n</dd></dl>\n\n</dd></dl>\n\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>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.</p>\n<p>Chun ionsaithe a mhaolú, cuireann Django teicníc ar a dtugtar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">*</span></a>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.</p>\n<p>Le haghaidh tuilleadh sonraí, féach an <a class=\"reference external\" href=\"https://www.breachattack.com/resources/BREACH%20-%20SSL,%20gone%20in%2030%20seconds.pdf\">páipéar BREACH (PDF) `_, `breachattack.com</a>, agus an páipéar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Heal The Breach (HTB) <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>_.</p>\n</aside>\n<p>Comhbhrúiteann an <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Django.middleware.gzip.gzipMiddleware <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>ábhar do bhrabhsálaithe a thuigeann comhbhrú GZip (gach brabhsálaí nua-aimseartha).</p>\n<p>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.</p>\n<p>NÍ chomhbhrúiteoidh sé ábhar má tá aon cheann díobh seo a leanas fíor:</p>\n<ul class=\"simple\">\n<li><p>Tá an corp ábhair níos lú ná 200 bytes ar fad.</p></li>\n<li><p>Tá an ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">Content-Encoding</span></code> socraithe ag an bhfreagra cheana féin.</p></li>\n<li><p>Níor sheol an iarratas (an brabhsálaí) ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">Accept-Encoding</span></code> ina bhfuil gzip`.</p></li>\n</ul>\n<p>Má tá ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">Etag</span></code> sa fhreagra, déantar an ETag lag chun comhlíonadh le:rfc: 9110 #section -8.8.1.</p>\n<p>You can apply GZip compression to individual views using the\n<a class=\"reference internal\" href=\"/ga/6.1/topics/http/decorators/#django.views.decorators.gzip.gzip_page\" title=\"django.views.decorators.gzip.gzip_page\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">gzip_page()</span></code></a> decorator.</p>\n</section>\n<section id=\"module-django.middleware.http\">\n<span id=\"conditional-get-middleware\"></span><h3>Meán-earraí coinníollach GET<a class=\"heading-anchor\" href=\"#module-django.middleware.http\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.http.ConditionalGetMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ConditionalGetMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.middleware.http.ConditionalGetMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Láimhseálann oibríochtaí coinníollach Mura bhfuil ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">Etag</span> <span class=\"pre\">``sa</span> <span class=\"pre\">fhreagra,</span> <span class=\"pre\">cuireann</span> <span class=\"pre\">an</span> <span class=\"pre\">middleware</span> <span class=\"pre\">ceann</span> <span class=\"pre\">leis</span> <span class=\"pre\">más</span> <span class=\"pre\">gá.</span> <span class=\"pre\">Má</span> <span class=\"pre\">tá</span> <span class=\"pre\">ceannteideal</span> <span class=\"pre\">``Etag</span></code> nó <code class=\"docutils literal notranslate\"><span class=\"pre\">Last-Modified</span></code> sa fhreagra, agus má tá <code class=\"docutils literal notranslate\"><span class=\"pre\">If-Non-Match</span></code> nó <code class=\"docutils literal notranslate\"><span class=\"pre\">If-Modhified-Since</span></code> sa iarraidh, cuirtear an:class: ~django.http.httpResponseNotModified in ionad an fhreagra.</p>\n<p>You can handle conditional GET operations with individual views using the\n<a class=\"reference internal\" href=\"/ga/6.1/topics/http/decorators/#django.views.decorators.http.conditional_page\" title=\"django.views.decorators.http.conditional_page\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">conditional_page()</span></code></a> decorator.</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.middleware.locale\">\n<span id=\"locale-middleware\"></span><h3>Middleware Áitiúil<a class=\"heading-anchor\" href=\"#module-django.middleware.locale\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.locale.LocaleMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">LocaleMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.middleware.locale.LocaleMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.locale.LocaleMiddleware.response_redirect_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">response_redirect_class</span></span><a class=\"heading-anchor\" href=\"#django.middleware.locale.LocaleMiddleware.response_redirect_class\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Réamhshocraithe chuig: aicme: ~django.http.httpResponsereDirect. Fo-aicme <code class=\"docutils literal notranslate\"><span class=\"pre\">LocalEmiddleware</span></code> agus athsháraigh an tréith chun na haatreoruithe arna eisiúint ag an middleware a shaincheapadh.</p>\n</dd></dl>\n\n<p>Cumasaíonn sé roghnú teanga bunaithe ar shonraí ón iarratas. Saincheapann sé ábhar do gach úsáideoir. Féach na:doc: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>doiciméadú idirnáisiúnaithe&lt;/topics/i18n/translation&gt; '.</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.contrib.messages.middleware\">\n<span id=\"message-middleware\"></span><h3>Meán-earraí teachtaireachta<a class=\"heading-anchor\" href=\"#module-django.contrib.messages.middleware\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.messages.middleware.MessageMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">MessageMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.contrib.messages.middleware.MessageMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cumasaíonn sé tacaíocht teachtaireachtaí bunaithe ar fhianán agus seisiún. Féach na:doc: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>&lt;/ref/contrib/messages&gt; doiciméadú teachtaireachtaí.</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.middleware.security\">\n<span id=\"id1\"></span><span id=\"security-middleware\"></span><h3>Meán-earraí slándála<a class=\"heading-anchor\" href=\"#module-django.middleware.security\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>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.</p>\n</aside>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.security.SecurityMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SecurityMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.middleware.security.SecurityMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Soláthraíonn an <code class=\"docutils literal notranslate\"><span class=\"pre\">django.middleware.security.securityMiddleware</span></code> 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ú.</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ga/6.1/ref/settings/#std-setting-SECURE_CONTENT_TYPE_NOSNIFF\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_CONTENT_TYPE_NOSNIFF</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.1/ref/settings/#std-setting-SECURE_CROSS_ORIGIN_OPENER_POLICY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_CROSS_ORIGIN_OPENER_POLICY</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.1/ref/settings/#std-setting-SECURE_HSTS_INCLUDE_SUBDOMAINS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_HSTS_INCLUDE_SUBDOMAINS</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.1/ref/settings/#std-setting-SECURE_HSTS_PRELOAD\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_HSTS_PRELOAD</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.1/ref/settings/#std-setting-SECURE_HSTS_SECONDS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_HSTS_SECONDS</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.1/ref/settings/#std-setting-SECURE_REDIRECT_EXEMPT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_REDIRECT_EXEMPT</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.1/ref/settings/#std-setting-SECURE_REFERRER_POLICY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_REFERRER_POLICY</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.1/ref/settings/#std-setting-SECURE_SSL_HOST\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_SSL_HOST</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.1/ref/settings/#std-setting-SECURE_SSL_REDIRECT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_SSL_REDIRECT</span></code></a></p></li>\n</ul>\n</dd></dl>\n\n<section id=\"http-strict-transport-security\">\n<span id=\"id2\"></span><h4>Slándáil Iompair Dhian HTTP<a class=\"heading-anchor\" href=\"#http-strict-transport-security\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>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 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>&quot;Strict-Transport-Security” a shocrú. Laghdaíonn sé seo do nochtadh do roinnt ionsaithe fear in-the-lár (MITM) a tharraingt SSL.</p>\n<p>Socróidh <code class=\"docutils literal notranslate\"><span class=\"pre\">SecurityMiddleware</span></code> an ceannteideal seo duit ar gach freagra HTTPS má shocraíonn tú an socrú: SECURE_HSTS_SECONDS go luach sláimhir neamh-nialasach.</p>\n<p>&lt;SECURE_HSTS_SECONDS&gt;Agus HSTS á chumasú agat, is smaoineamh maith é luach beag a úsáid ar dtús le haghaidh tástála, mar shampla, :setting: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>SECURE_HSTS_SECONDS = 3600 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>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).</p>\n<p>Ina theannta sin, má shocraíonn tú an socrú:setting: SECURE_HSTS_INCLUDE_SUBDOMAINS go True`, cuirfidh <code class=\"docutils literal notranslate\"><span class=\"pre\">SecurityMiddleware</span></code> an treoir includeSubdomains` leis an gceannteideal <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Strict-Transport-Security <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>. 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.</p>\n<p>Más mian leat do shuíomh a chur isteach chuig an <a class=\"reference external\" href=\"https://hstspreload.org/\">liosta réamh-luchtaithe brabhsálaí</a>, socraigh an socrú:setting: SECURE_HSTS_PRELOAD go <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Cuireann sé sin an treoir <code class=\"docutils literal notranslate\"><span class=\"pre\">réamh-ualacha</span></code> leis an gceannteideal <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Strict-Transport-Security <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>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.</p>\n<p>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!</p>\n</aside>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>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ú.</p>\n</aside>\n</section>\n<section id=\"referrer-policy\">\n<span id=\"id4\"></span><h4>Polasaí Atreoraithe<a class=\"heading-anchor\" href=\"#referrer-policy\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Úsáideann brabhsálaí <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>an ceannteideal Referer <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>__ 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.</p>\n<p>Tá sé de chumas ag roinnt brabhsálaithe glacadh le leideanna faoin gceannteideal HTTP <code class=\"docutils literal notranslate\"><span class=\"pre\">Referer</span></code> a sheoladh nuair a chliceálann úsáideoir ar nasc; cuirtear an leid seo ar fáil tríd <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>an ceannteideal Attreor-Polasaí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>__. Is féidir leis an gceanntásc seo aon cheann de thrí iompraíocht a mholadh do bh</p>\n<ul class=\"simple\">\n<li><p>URL iomlán: seol an URL iomlán sa cheannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">Referer</span></code>. Mar shampla, má tá an t-úsáideoir ag tabhairt cuairte ar <code class=\"docutils literal notranslate\"><span class=\"pre\">https://example.com/page.html</span></code>, bheadh <code class=\"docutils literal notranslate\"><span class=\"pre\">”</span> <span class=\"pre\">https://example.com/page.html</span> <span class=\"pre\">“</span></code> sa cheannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">Referer</span></code>.</p></li>\n<li><p>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 <code class=\"docutils literal notranslate\"><span class=\"pre\">https://example.com/page.html</span></code>, bheadh an bunús ná <code class=\"docutils literal notranslate\"><span class=\"pre\">https://example.com/</span></code>.</p></li>\n<li><p>Gan aon atreoróir: ná seol ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">Referer</span></code> ar chor ar bith.</p></li>\n</ul>\n<p>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:</p>\n<ul class=\"simple\">\n<li><p>An tionscnamh céanna i gcoinne trasbhunús: tá nasc ó <code class=\"docutils literal notranslate\"><span class=\"pre\">https://example.com/1.html</span></code> go <code class=\"docutils literal notranslate\"><span class=\"pre\">https://example.com/2.html</span></code> an tionscnamh céanna. Tá nasc ó <code class=\"docutils literal notranslate\"><span class=\"pre\">https://example.com/page.html</span></code> go <code class=\"docutils literal notranslate\"><span class=\"pre\">https://not.example.com/page.html</span></code> trasbhunús.</p></li>\n<li><p>Í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.</p></li>\n</ul>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>Nuair a sheirbheáltar ar do shuíomh trí HTTPS, :ref: Éil &lt;how-csrf-works&gt;íonn córas cosanta CSRF Django `go mbeidh ceannteideal ``Referer i láthair, mar sin cuirfear isteach ar an gceannteideal <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Referer` a dhíchumasú go hiomlán ar chosaint CSRF. Chun an chuid is mó de na buntáistí a bhaineann le ceanntásca <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>Referer` a dhíchumasú agus cosaint CSRF a choinneáil freisin, smaoinigh ar atreoróirí den bhunús céanna a chumasú.</p>\n</aside>\n<p>Is féidir le SecurityMiddleware` ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">Referrer-Policy</span></code> 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 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Referrer-Policy` sa cheannteideal a thugann brabhsálaí an cheart é sin a dhéanamh). Is iad na luachanna bailí don socrú seo ná:</p>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">`no-atreoraitheoir</span></code></dt><dd><p>Treoraíonn sé don bhrabhsálaí gan aon atreoróir a sheoladh le haghaidh naisc a chliceáltar ar an suíomh seo.</p>\n</dd>\n<dt><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>níl aon atreorú-nuair a dhéantar íosghrádú ``</dt><dd><p>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.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">`bunaidh</span></code></dt><dd><p>Treoraíonn sé don bhrabhsálaí an bunús amháin a sheoladh, ní an URL iomlán, mar an atreoróir.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">bunaidh-nuain-tras-bhunaithe</span></code></dt><dd><p>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.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">`an</span> <span class=\"pre\">tionscnamh</span> <span class=\"pre\">céann</span></code></dt><dd><p>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.</p>\n</dd>\n<dt><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>tionscnamh docht ``</dt><dd><p>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.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">tionscnamh</span> <span class=\"pre\">docht</span> <span class=\"pre\">-</span> <span class=\"pre\">nuair</span> <span class=\"pre\">a</span> <span class=\"pre\">bhíonn</span> <span class=\"pre\">sé</span> <span class=\"pre\">tras-bhunaithe</span></code></dt><dd><p>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.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">URL</span> <span class=\"pre\">neamhshábháilte</span></code></dt><dd><p>Treoraíonn sé don bhrabhsálaí an URL iomlán a sheoladh mar an atreoróir i gcónaí.</p>\n</dd>\n</dl>\n<aside class=\"admonition-unknown-policy-values admonition\">\n<p class=\"admonition-title\">Luachanna beartais anaithnid</p>\n<p>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.</p>\n</aside>\n</section>\n<section id=\"cross-origin-opener-policy\">\n<span id=\"id8\"></span><h4>Polasaí Oscailte Tras-Bhunús<a class=\"heading-anchor\" href=\"#cross-origin-opener-policy\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>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</p>\n<p>Is féidir le <code class=\"docutils literal notranslate\"><span class=\"pre\">SecurityMiddleware</span></code> an ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">`Cross-Origin-Opener-Policy</span></code> a shocrú duit, bunaithe ar an socrú:setting: SECURE_CROSS_ORIGIN_OPENER_POLICY. Is iad na luachanna bailí don socrú seo ná:</p>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">`an</span> <span class=\"pre\">tionscnamh</span> <span class=\"pre\">céann</span></code></dt><dd><p>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.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">`an</span> <span class=\"pre\">bunaidh</span> <span class=\"pre\">céann-ligead-popups</span></code></dt><dd><p>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ú.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">`neamhshábháilt-neamh</span></code></dt><dd><p>Ligeann sé an doiciméad a chur le grúpa comhthéacs brabhsála a oscailteora mura bhfuil COOP de <code class=\"docutils literal notranslate\"><span class=\"pre\">same-origin</span></code> nó <code class=\"docutils literal notranslate\"><span class=\"pre\">same-origin-allow-popups</span></code> ag an oscailteoir féin.</p>\n</dd>\n</dl>\n</section>\n<section id=\"x-content-type-options-nosniff\">\n<span id=\"x-content-type-options\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">Roghanna</span> <span class=\"pre\">Cineál-Ábhar</span> <span class=\"pre\">X-:</span> <span class=\"pre\">nosniff</span></code><a class=\"heading-anchor\" href=\"#x-content-type-options-nosniff\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>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 <code class=\"docutils literal notranslate\"><span class=\"pre\">Content-Type</span></code>. 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</p>\n<p>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</p>\n<p>To prevent the browser from guessing the content type and force it to\nalways use the type provided in the <code class=\"docutils literal notranslate\"><span class=\"pre\">Content-Type</span></code> header, you can pass\nthe <a href=\"#id13\"><span class=\"problematic\" id=\"id14\">`X-Content-Type-Options: nosniff`__</span></a> header. <code class=\"docutils literal notranslate\"><span class=\"pre\">SecurityMiddleware</span></code> will\ndo this for all responses if the <a class=\"reference internal\" href=\"/ga/6.1/ref/settings/#std-setting-SECURE_CONTENT_TYPE_NOSNIFF\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_CONTENT_TYPE_NOSNIFF</span></code></a> setting\nis <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n<p>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.</p>\n</section>\n<section id=\"ssl-redirect\">\n<span id=\"id11\"></span><h4>Atreorú SSL<a class=\"heading-anchor\" href=\"#ssl-redirect\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>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.</p>\n<p>Má shocraíonn tú an socrú:setting: SECURE_SSL_REDIRECT go True, atreoróidh <code class=\"docutils literal notranslate\"><span class=\"pre\">SecurityMiddleware</span></code> go buan (HTTP 301) gach nasc HTTP chuig HTTPS.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>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 <a class=\"reference external\" href=\"https://nginx.org/\">nginx</a>. :setting: Tá SECURE_SSL_REDIRECT beartaithe do na cásanna imscartha nach rogha é seo.</p>\n</aside>\n<p>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.</p>\n<p>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.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>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ú.</p>\n</aside>\n</section>\n</section>\n<section id=\"module-django.contrib.sessions.middleware\">\n<span id=\"session-middleware\"></span><h3>Meán-earraí seisiúin<a class=\"heading-anchor\" href=\"#module-django.contrib.sessions.middleware\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sessions.middleware.SessionMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SessionMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sessions.middleware.SessionMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cumasaíonn tacaíocht seisiún. Féach na:doc: doiciméadú seisiúin &lt;/topics/http/sessions&gt;.</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.contrib.sites.middleware\">\n<span id=\"site-middleware\"></span><h3>Láithreán Middleware<a class=\"heading-anchor\" href=\"#module-django.contrib.sites.middleware\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sites.middleware.CurrentSiteMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CurrentSiteMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sites.middleware.CurrentSiteMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cuireann sé an tréith <code class=\"docutils literal notranslate\"><span class=\"pre\">láithre</span></code> a léiríonn an suíomh reatha le gach réad <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>HttpRequest <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>atá ag teacht isteach. &lt;site-middleware&gt;Féach an doiciméadúcháin: <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>suíomhanna <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>.</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.contrib.auth.middleware\">\n<span id=\"authentication-middleware\"></span><h3>Meán-earraí fíordheimhnithe<a class=\"heading-anchor\" href=\"#module-django.contrib.auth.middleware\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.auth.middleware.AuthenticationMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">AuthenticationMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.contrib.auth.middleware.AuthenticationMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cuireann sé an tréith <code class=\"docutils literal notranslate\"><span class=\"pre\">úsáideoir</span> <span class=\"pre\">``,</span> <span class=\"pre\">a</span> <span class=\"pre\">léiríonn</span> <span class=\"pre\">an</span> <span class=\"pre\">t-úsáideoir</span> <span class=\"pre\">logáilte</span> <span class=\"pre\">isteach</span> <span class=\"pre\">faoi</span> <span class=\"pre\">láthair,</span> <span class=\"pre\">le</span> <span class=\"pre\">gach</span> <span class=\"pre\">réad</span> <span class=\"pre\">``HttpRequest</span></code> atá ag teacht isteach. &lt;auth-web-requests&gt;Féach:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Fíordheimhniú in iarratais gréasáin <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.auth.middleware.LoginRequiredMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">LoginRequiredMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.contrib.auth.middleware.LoginRequiredMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>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.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.auth.middleware.LoginRequiredMiddleware.redirect_field_name\">\n<span class=\"sig-name descname\"><span class=\"pre\">redirect_field_name</span></span><a class=\"heading-anchor\" href=\"#django.contrib.auth.middleware.LoginRequiredMiddleware.redirect_field_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Réamhshocraithe go <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>&quot;eile” <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.auth.middleware.LoginRequiredMiddleware.get_login_url\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_login_url</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.auth.middleware.LoginRequiredMiddleware.get_login_url\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tugann sé an URL ar ais a atreorófar iarratais neamhfhíordheimhnithe chuig. &lt;LOGIN_URL&gt;Is é an toradh seo an <code class=\"docutils literal notranslate\"><span class=\"pre\">login_url</span> <span class=\"pre\">``atá</span> <span class=\"pre\">leagtha</span> <span class=\"pre\">síos</span> <span class=\"pre\">ar:func:</span> <span class=\"pre\">`~django.contrib.auth.decorators.login_required`</span> <span class=\"pre\">maisitheoir</span> <span class=\"pre\">(mura</span> <span class=\"pre\">bhfuil</span> <span class=\"pre\">``None</span></code>), nó: setting: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Settings.login_url <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.auth.middleware.LoginRequiredMiddleware.get_redirect_field_name\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_redirect_field_name</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.auth.middleware.LoginRequiredMiddleware.get_redirect_field_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>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 <code class=\"docutils literal notranslate\"><span class=\"pre\">redirect_field_name</span></code> atá leagtha síos ar:func: ~.django.contrib.auth.decorators.login_required maisitheoir (mura bhfuil <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>), nó:attr: redirect_field_name. Má chuirtear <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>None <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>ar ais, ní chuirfear paraiméadar fiosrúcháin leis.</p>\n</dd></dl>\n\n</dd></dl>\n\n<p>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. &lt;LOGIN_URL&gt;Tá an leathanach logála isteach réamhshocraithe to:setting: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Settings.login_url <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>, ach is féidir é a shaincheapadh.</p>\n<p>Cumasaigh an middleware seo tríd é a chur leis an socrú:setting: MIDDLEWARE <strong>iar-</strong>:class: ~django.contrib.auth.middleware.AuthenticationMiddleware:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">MIDDLEWARE</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"s2\">&quot;...&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.auth.middleware.AuthenticationMiddleware&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.auth.middleware.LoginRequiredMiddleware&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;...&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>Déan radharc poiblí, ag ceadú iarratais neamhfhíordheimhnithe, le:func: ~.django.contrib.auth.decorators.login_not_required. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.auth.decorators</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">login_not_required</span>\n\n\n<span class=\"nd\">@login_not_required</span>\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">contact_us</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span> <span class=\"o\">...</span>\n</code></pre></div>\n<p>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 <code class=\"docutils literal notranslate\"><span class=\"pre\">login_url</span> <span class=\"pre\">``nó</span> <span class=\"pre\">``redirect_field_name</span></code> a shocrú faoi seach. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.auth.decorators</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">login_required</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.utils.decorators</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">method_decorator</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.views.generic</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">View</span>\n\n\n<span class=\"nd\">@login_required</span><span class=\"p\">(</span><span class=\"n\">login_url</span><span class=\"o\">=</span><span class=\"s2\">&quot;/books/login/&quot;</span><span class=\"p\">,</span> <span class=\"n\">redirect_field_name</span><span class=\"o\">=</span><span class=\"s2\">&quot;redirect_to&quot;</span><span class=\"p\">)</span>\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">book_dashboard</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span> <span class=\"o\">...</span>\n\n\n<span class=\"nd\">@method_decorator</span><span class=\"p\">(</span>\n    <span class=\"n\">login_required</span><span class=\"p\">(</span><span class=\"n\">login_url</span><span class=\"o\">=</span><span class=\"s2\">&quot;/books/login/&quot;</span><span class=\"p\">,</span> <span class=\"n\">redirect_field_name</span><span class=\"o\">=</span><span class=\"s2\">&quot;redirect_to&quot;</span><span class=\"p\">),</span>\n    <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;dispatch&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">BookMetrics</span><span class=\"p\">(</span><span class=\"n\">View</span><span class=\"p\">):</span>\n    <span class=\"k\">pass</span>\n</code></pre></div>\n<aside class=\"admonition-ensure-that-your-login-view-does-not-require-a-login admonition\">\n<p class=\"admonition-title\">Déan cinnte nach dteastaíonn logáil isteach ó d'amharc logála isteach.</p>\n<p>&lt;disable-login-required-middleware-for-views&gt;Chun atreoruithe gan teorainn a chosc, déan cinnte go bhfuil: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>iarratais neamhfhíordheimhnithe cumasaithe agat <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>chuig d'amharc logála isteach.</p>\n</aside>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.auth.middleware.RemoteUserMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RemoteUserMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.contrib.auth.middleware.RemoteUserMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Middleware for utilizing web server provided authentication. See\n<a class=\"reference internal\" href=\"/ga/6.1/howto/auth-remote-user/\"><span class=\"doc\">Conas fíordheimhniú ag baint úsáide as REMOTE_USER</span></a> for usage details, including security\nconsiderations.</p>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.auth.middleware.PersistentRemoteUserMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">PersistentRemoteUserMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.contrib.auth.middleware.PersistentRemoteUserMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Middleware for utilizing web server provided authentication when enabled\nonly on the login page. See <a class=\"reference internal\" href=\"/ga/6.1/howto/auth-remote-user/#persistent-remote-user-middleware-howto\"><span class=\"std std-ref\">Ag baint úsáide as REMOTE_USER ar leathanaigh logála isteach amháin</span></a>\nfor usage details, including security considerations.</p>\n</dd></dl>\n\n</section>\n<section id=\"csrf-protection-middleware\">\n<h3>Meán-earraí cosanta CSRF<a class=\"heading-anchor\" href=\"#csrf-protection-middleware\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.csrf.CsrfViewMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CsrfViewMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.middleware.csrf.CsrfViewMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>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: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Doiciméadú cosanta bréagán a iarraidh ar thrasláithreach' &lt;/ref/csrf&gt;.</p>\n<p>You can add Cross Site Request Forgery protection to individual views\nusing the <a class=\"reference internal\" href=\"/ga/6.1/ref/csrf/#django.views.decorators.csrf.csrf_protect\" title=\"django.views.decorators.csrf.csrf_protect\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">csrf_protect()</span></code></a> decorator.</p>\n</dd></dl>\n\n</section>\n<section id=\"x-frame-options-middleware\">\n<h3>Meán-earraí <code class=\"docutils literal notranslate\"><span class=\"pre\">Roghanna</span> <span class=\"pre\">Fráma</span> <span class=\"pre\">X-</span></code><a class=\"heading-anchor\" href=\"#x-frame-options-middleware\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.clickjacking.XFrameOptionsMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">XFrameOptionsMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.middleware.clickjacking.XFrameOptionsMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Simple:doc: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>cosaint clickjac&lt;/ref/clickjacking/&gt; king tríd an gceannteideal X-Frame-Options'.</p>\n</dd></dl>\n\n</section>\n<section id=\"content-security-policy-middleware\">\n<h3>Content Security Policy middleware<a class=\"heading-anchor\" href=\"#content-security-policy-middleware\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.middleware.csp.ContentSecurityPolicyMiddleware\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ContentSecurityPolicyMiddleware</span></span><a class=\"heading-anchor\" href=\"#django.middleware.csp.ContentSecurityPolicyMiddleware\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-added\" data-version=\"6.0\">\n<p class=\"version-note-title\">New in Django 6.0</p></aside>\n<p>Adds support for Content Security Policy (CSP), which helps mitigate risks such\nas Cross-Site Scripting (XSS) and data injection attacks by controlling the\nsources of content that can be loaded in the browser. See the\n<a class=\"reference internal\" href=\"/ga/6.1/ref/csp/#csp-overview\"><span class=\"std std-ref\">Forbhreathnú</span></a> documentation for details on configuring policies.</p>\n<p>This middleware sets the following headers on the response depending on the\navailable settings:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Content-Security-Policy</span></code>, based on <a class=\"reference internal\" href=\"/ga/6.1/ref/settings/#std-setting-SECURE_CSP\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_CSP</span></code></a>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Content-Security-Policy-Report-Only</span></code>, based on\n<a class=\"reference internal\" href=\"/ga/6.1/ref/settings/#std-setting-SECURE_CSP_REPORT_ONLY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_CSP_REPORT_ONLY</span></code></a>.</p></li>\n</ul>\n</section>\n</section>\n<section id=\"middleware-ordering\">\n<span id=\"id12\"></span><h2>Ordú Middleware<a class=\"heading-anchor\" href=\"#middleware-ordering\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Seo roinnt leideanna faoi ordú ranganna éagsúla middleware Django:</p>\n<ol class=\"arabic\">\n<li><p><a class=\"reference internal\" href=\"#django.middleware.security.SecurityMiddleware\" title=\"django.middleware.security.SecurityMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SecurityMiddleware</span></code></a></p>\n<p>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.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"#django.middleware.cache.UpdateCacheMiddleware\" title=\"django.middleware.cache.UpdateCacheMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">UpdateCacheMiddleware</span></code></a></p>\n<p>Roimh iad siúd a mhodhnóidh an ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">Vary</span></code> (SessionMiddleware`, GzipMiddleware`, LocalEmiddleware`).</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"#django.middleware.gzip.GZipMiddleware\" title=\"django.middleware.gzip.GZipMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GZipMiddleware</span></code></a></p>\n<p>Roimh aon mheán-earraí a d'fhéadfadh an comhlacht freagartha a athrú nó a úsáid.</p>\n<p>Tar éis <code class=\"docutils literal notranslate\"><span class=\"pre\">UpdateCacheMiddleware</span></code>: Athraíonn sé ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">`Vary</span></code>.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"#django.contrib.sessions.middleware.SessionMiddleware\" title=\"django.contrib.sessions.middleware.SessionMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SessionMiddleware</span></code></a></p>\n<p>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.</p>\n<p>Tar éis <code class=\"docutils literal notranslate\"><span class=\"pre\">UpdateCacheMiddleware</span></code>: Athraíonn sé ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">`Vary</span></code>.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"#django.middleware.http.ConditionalGetMiddleware\" title=\"django.middleware.http.ConditionalGetMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ConditionalGetMiddleware</span></code></a></p>\n<p>Roimh aon mheán-earraí a d'fhéadfadh an freagra a athrú (socraíonn sé an ceannteideal <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Etag <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>).</p>\n<p>Tar éis <code class=\"docutils literal notranslate\"><span class=\"pre\">GzipMiddleware</span></code> mar sin ní ríomh sé ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">Etag</span></code> ar ábhar gzipped.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"#django.middleware.locale.LocaleMiddleware\" title=\"django.middleware.locale.LocaleMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">LocaleMiddleware</span></code></a></p>\n<p>Ceann de na cinn is barr, tar éis <code class=\"docutils literal notranslate\"><span class=\"pre\">SessionMiddleware</span></code> (úsáideann sonraí seisiúin) agus <code class=\"docutils literal notranslate\"><span class=\"pre\">UpdateCacheMiddleware</span></code> (athraíonn sé ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">Vary</span></code>).</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"#django.middleware.common.CommonMiddleware\" title=\"django.middleware.common.CommonMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CommonMiddleware</span></code></a></p>\n<p>Roimh aon mheán-earraí a d'fhéadfadh an freagra a athrú (socraíonn sé an ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">Content-Length</span></code>). Ní mór do mheán-earraí atá le feiceáil roimh <code class=\"docutils literal notranslate\"><span class=\"pre\">CommonMiddleware</span></code> agus a athraíonn an freagra <code class=\"docutils literal notranslate\"><span class=\"pre\">Content-Length</span></code> a athshocrú.</p>\n<p>In aice leis an mbarr: atreoraíonn sé nuair:setting: APPEND_SLASH nó:setting: PREPEND_WWW socraítear go <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n<p>Tar éis <code class=\"docutils literal notranslate\"><span class=\"pre\">SessionMiddleware</span></code> má tá tú ag baint úsáidea:setting: CSRF_USE_SESSIONS.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"#django.middleware.csrf.CsrfViewMiddleware\" title=\"django.middleware.csrf.CsrfViewMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CsrfViewMiddleware</span></code></a></p>\n<p>Roimh aon fheiceáil middleware a ghlacann leis gur déileáladh le hionsaithe CSRF.</p>\n<p>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.</p>\n<p>Tar éis <code class=\"docutils literal notranslate\"><span class=\"pre\">SessionMiddleware</span></code> má tá tú ag baint úsáidea:setting: CSRF_USE_SESSIONS.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"#django.contrib.auth.middleware.AuthenticationMiddleware\" title=\"django.contrib.auth.middleware.AuthenticationMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AuthenticationMiddleware</span></code></a></p>\n<p>Tar éis <code class=\"docutils literal notranslate\"><span class=\"pre\">SessionMiddleware</span></code>: úsáideann sé stóráil seisiúin.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"#django.contrib.auth.middleware.LoginRequiredMiddleware\" title=\"django.contrib.auth.middleware.LoginRequiredMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">LoginRequiredMiddleware</span></code></a></p>\n<p>Tar éis <code class=\"docutils literal notranslate\"><span class=\"pre\">AuthenticationMiddleware</span></code>: úsáideann réad úsáideora.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"#django.contrib.messages.middleware.MessageMiddleware\" title=\"django.contrib.messages.middleware.MessageMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MessageMiddleware</span></code></a></p>\n<p>Tar éis <code class=\"docutils literal notranslate\"><span class=\"pre\">SessionMiddleware</span></code>: is féidir le stóráil seisiúin-bhunaithe a úsáid.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"#django.middleware.cache.FetchFromCacheMiddleware\" title=\"django.middleware.cache.FetchFromCacheMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FetchFromCacheMiddleware</span></code></a></p>\n<p>Tar éis aon mheán-earraí a mhodhnóidh an ceannteideal <code class=\"docutils literal notranslate\"><span class=\"pre\">Vary</span></code>: úsáidtear an ceannteideal sin chun luach a roghnú don eochair hash-taisce.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"#django.middleware.csp.ContentSecurityPolicyMiddleware\" title=\"django.middleware.csp.ContentSecurityPolicyMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ContentSecurityPolicyMiddleware</span></code></a></p>\n<p>Can be placed near the bottom, but since the <a class=\"reference internal\" href=\"/ga/6.1/ref/csp/#csp-nonce\"><span class=\"std std-ref\">csp_nonce</span></a> is\nlazy, ensure any middleware that accesses it is positioned after, so the\nnonce is generated before this middleware builds the response header.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/flatpages/#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware\" title=\"django.contrib.flatpages.middleware.FlatpageFallbackMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FlatpageFallbackMiddleware</span></code></a></p>\n<p>Ba chóir go mbeadh sé gar don bhun mar is cineál lár-earraí deireanach é.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/redirects/#django.contrib.redirects.middleware.RedirectFallbackMiddleware\" title=\"django.contrib.redirects.middleware.RedirectFallbackMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RedirectFallbackMiddleware</span></code></a></p>\n<p>Ba chóir go mbeadh sé gar don bhun mar is cineál lár-earraí deireanach é.</p>\n</li>\n</ol>\n</section>","rootId":"module-django.middleware","toc":[{"title":"Middleware atá ar fáil","anchor":"available-middleware","children":[{"title":"Meán-earraí taisce","anchor":"module-django.middleware.cache","children":[]},{"title":"Meán-earraí “Coitianta”","anchor":"module-django.middleware.common","children":[]},{"title":"Meán-earraí gZip","anchor":"module-django.middleware.gzip","children":[]},{"title":"Meán-earraí coinníollach GET","anchor":"module-django.middleware.http","children":[]},{"title":"Middleware Áitiúil","anchor":"module-django.middleware.locale","children":[]},{"title":"Meán-earraí teachtaireachta","anchor":"module-django.contrib.messages.middleware","children":[]},{"title":"Meán-earraí slándála","anchor":"module-django.middleware.security","children":[{"title":"Slándáil Iompair Dhian HTTP","anchor":"http-strict-transport-security","children":[]},{"title":"Polasaí Atreoraithe","anchor":"referrer-policy","children":[]},{"title":"Polasaí Oscailte Tras-Bhunús","anchor":"cross-origin-opener-policy","children":[]},{"title":"Roghanna Cineál-Ábhar X-: nosniff","anchor":"x-content-type-options-nosniff","children":[]},{"title":"Atreorú SSL","anchor":"ssl-redirect","children":[]}]},{"title":"Meán-earraí seisiúin","anchor":"module-django.contrib.sessions.middleware","children":[]},{"title":"Láithreán Middleware","anchor":"module-django.contrib.sites.middleware","children":[]},{"title":"Meán-earraí fíordheimhnithe","anchor":"module-django.contrib.auth.middleware","children":[]},{"title":"Meán-earraí cosanta CSRF","anchor":"csrf-protection-middleware","children":[]},{"title":"Meán-earraí Roghanna Fráma X-","anchor":"x-frame-options-middleware","children":[]},{"title":"Content Security Policy middleware","anchor":"content-security-policy-middleware","children":[]}]},{"title":"Ordú Middleware","anchor":"middleware-ordering","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Tagairt API","url":"/ga/6.1/ref/"}],"prev":{"docname":"ref/logging","title":"Logáil","url":"/ga/6.1/ref/logging/"},"next":{"docname":"ref/migration-operations","title":"Oibríochtaí Imirce","url":"/ga/6.1/ref/migration-operations/"},"formats":{"html":"/ga/6.1/ref/middleware/","markdown":"/ga/6.1/ref/middleware.md","json":"/ga/6.1/ref/middleware.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/ref/middleware.txt","official":"https://docs.djangoproject.com/ga/6.1/ref/middleware/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}