---
title: "Cosaint clickjacking"
version: 6.1
locale: ga
source: https://docs.djangoproject.com/ga/6.1/ref/clickjacking/
canonical: https://djangodocs.dev/ga/6.1/ref/clickjacking/
---
# Cosaint clickjacking

The clickjacking middleware and decorators provide easy-to-use protection
against [clickjacking](https://en.wikipedia.org/wiki/Clickjacking). This type of attack occurs when a malicious site
tricks a user into clicking on a concealed element of another site which they
have loaded in a hidden frame or iframe.

## Sampla de clickjacking

Suppose an online store has a page where a logged-in user can click "Buy Now"
to purchase an item. A user has chosen to stay logged into the store all the
time for convenience. An attacker site might create an "I Like Ponies" button
on one of their own pages, and load the store's page in a transparent iframe
such that the "Buy Now" button is invisibly overlaid on the "I Like Ponies"
button. If the user visits the attacker's site, clicking "I Like Ponies" will
cause an inadvertent click on the "Buy Now" button and an unknowing purchase of
the item.

## Clickjacking a chosc

Tugann brabhsálaí nua-aimseartha onóir ar cheanntásc HTTP [X-Frame-Options](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) a thugann le fios an bhfuil cead ag acmhainn luchtú laistigh de fhráma nó iframe nó nach bhfuil. Má tá an ceannteideal sa fhreagra le luach `SAMEORIGIN` ansin ní luchtálfaidh an brabhsálaí an acmhainn i bhfráma ach amháin má tháinig an t-iarratas ón suíomh céanna. Má tá an ceannteideal socraithe go DENY\` ansin cuirfidh an brabhsálaí bac ar an acmhainn ó luchtú i bhfráma is cuma cén suíomh a rinne an iarraidh.

Soláthraíonn Django cúpla bealach chun an ceannteideal seo a áireamh i bhfreagraí ó do shuíomh:

1. Middleware a shocraíonn an ceanntásc i ngach freagra.
2. Sraith maisitheoirí radhairc is féidir a úsáid chun an lár-earraí a shárú nó chun an ceanntásc a shocrú ach le haghaidh tuairimí áirithe.

Ní shocróidh an ceannteideal HTTP `X-Frame-Options` ach ag na maisitheoirí meán-earraí nó amharc mura bhfuil sé i láthair sa fhreagra cheana féin.

## Conas é a úsáid

### Socrú `Roghanna X-Frame` do gach freagra

Chun an luach céanna `X-Frame-Options` a shocrú do gach freagra ar do shuíomh, cuir django.middleware.clickjacking.xframeOptionsMiddleware'\` chuig:setting: MIDDLEWARE:

```
MIDDLEWARE = [
    ...,
    "django.middleware.clickjacking.XFrameOptionsMiddleware",
    ...,
]
```

Tá an láithreán gréasáin seo cumasaithe sa chomhad socruithe a ghineann: djadmin: startproject.

De réir réamhshocraithe, socraíonn an middleware an ceannteideal `X-Frame-Options` go DENY\` do gach HttpResponse\` atá ag imeacht. Más mian leat aon luach eile don cheanntásc seo ina ionad sin, socraigh an socrú: setting: X\_FRAME\_OPTIONS:

```
X_FRAME_OPTIONS = "SAMEORIGIN"
```

Agus an middleware á úsáid agat d'fhéadfadh go mbeadh roinnt tuairimí ann nuair nach dteastaíonn uait\*\* an tacar ceanntásc `X-Frame-Options` ag teastáil uait. Maidir leis na cásanna sin, is féidir leat maisitheoir amharc a úsáid a insíonn don middleware gan an ceannteideal a shocrú:

```
from django.http import HttpResponse
from django.views.decorators.clickjacking import xframe_options_exempt

@xframe_options_exempt
def ok_to_load_in_a_frame(request):
    return HttpResponse("This page is safe to load in a frame on any site.")
```

> **Note**
>
> Más mian leat foirm a chur isteach nó rochtain a fháil ar fhianán seisiúin laistigh de fhráma nó iframe, b'fhéidir go mbeidh ort socruithe: :setting: CSRF\_COOKIE\_SAMESITE nó:setting: SESSION\_COOKIE\_SAMESITE a mhodhnú.

### Socrú `Roghanna Fráma X-` in aghaidh an amharc

Chun an ceanntásc X-Frame-Options\` a shocrú ar bhonn in aghaidh an amharc, soláthraíonn Django na maisiúcháin seo:

```
from django.http import HttpResponse
from django.views.decorators.clickjacking import xframe_options_deny
from django.views.decorators.clickjacking import xframe_options_sameorigin

@xframe_options_deny
def view_one(request):
    return HttpResponse("I won't display in any frame!")

@xframe_options_sameorigin
def view_two(request):
    return HttpResponse("Display in a frame if it's from the same origin as me.")
```

Tabhair faoi deara gur féidir leat na maisitheoirí a úsáid i gcomhar leis an middleware. Sáraíonn úsáid maisitheora an mheán-earraí.

## Teorainneacha

Ní chosnóidh an ceannteideal X-Frame-Options\` ach ar chliceacáil i brabhsálaí nua-aimsearta'.
