# Jelszóvédelem

> Oldalak, bejegyzések, bejegyzéstípusok vagy az egész webhely védelme jelszóval Bricks-sablonnal: jelszóforrások, ütemezés, kivételek.

A Bricks saját jelszóvédelme egyszerű és erős módot ad a webhely tartalmának védelmére további bővítmény nélkül. Védhetsz egyes oldalakat, bejegyzéseket, nagyobb területeket (például egyéni bejegyzéstípusokat), vagy akár az egész webhelyet. A jelszó megadásának felületét egyéni sablonnal alakíthatod, ütemezheted, mikor legyen aktív a védelem, és mindent a Bricksen belül kezelhetsz.

A jelszóvédelem csak a webhely előlapon megjelenített tartalmához korlátozza a hozzáférést. Más hozzáférési módokat (például a REST API-t) nem korlátoz. Érzékeny adatoknál gondoskodj szigorúbb biztonsági intézkedésekről is.

## A jelszóvédelem beállítása

1. Kapcsold be a **Jelszóvédelem** beállítást a **Bricks → Beállítások → Általános** lapon, majd mentsd. A **Jelszóvédelem** sablontípus csak akkor érhető el, amíg ez be van kapcsolva.
2. Hozz létre jelszóvédelmi sablont:
   - A WordPress vezérlőpultján menj a **Bricks → Sablonok** lapra, és hozz létre új sablont.
   - A **Sablon típusa** értéke legyen **Jelszóvédelem**.
   - A Bricks az üres sablont kitölti kezdő elrendezéssel: egy címsorral, egy szövegsorral és egy űrlappal, amelyben jelszómező és **Feloldás** gomb van. Az űrlap már a **Jelszóvédelem feloldása** műveletet használja.
3. Állítsd be a jelszóvédelmi beállításokat:
   - Kattints a **Szerkesztés Bricksszel** gombra a sablon testreszabásához.
   - A jelszóvédelmi beállításokat a **Beállítások → Sablonbeállítások → Jelszóvédelem** alatt éred el.
   - Az elérhető beállítások:
     - **Jelszó forrása:** a jelszavak kezelésének módja. Lehet **Sablonjelszó**, **Bejegyzésjelszó** vagy **Sablon- és bejegyzésjelszó**. A részleteket lásd lent.
     - **Jelszó:** a sablonszintű védelem jelszava. Csak akkor érhető el, ha a jelszó forrása a Sablonjelszó vagy a Sablon- és bejegyzésjelszó.
     - **Letiltás bejelentkezett felhasználóknak:** engedi, hogy a bejelentkezett látogatók megkerüljék a sablonjelszót.
     - **Ütemezés:** beállíthatod, mikor legyen aktív a sablonjelszó védelme.
       - **Kezdő dátum:** a védelem kezdetének dátuma és ideje.
       - **Záró dátum:** a védelem végének dátuma és ideje.

A régebbi **Fejléc letiltása**, **Lábléc letiltása** és **Felugró ablakok letiltása** vezérlők elavultak, új jelszóvédelmi sablonoknál ne számíts rájuk.

Részletesebben a sablonbeállításokról a [Sablonbeállítások](https://hub.hellowp.io/hu/plugins/bricks-child/sablonok-sablonbeallitasok/) fejezet szól.

4. Állítsd be a sablon feltételeit a **Beállítások → Sablonbeállítások → Feltételek** alatt, hogy meghatározd, hol érvényes a sablon. Dinamikusabb szabályozáshoz használd a `bricks/password_protection/is_active` szűrőt, amellyel testreszabhatod, mikor legyen aktív a sablon, vagy mikor kerülje meg.
5. Adj hozzá feloldó űrlapelemet:
   - Add hozzá az **Űrlap** elemet a jelszóvédelmi sablonhoz.
   - Add hozzá a **Jelszóvédelem feloldása** űrlapműveletet. Ez teszi lehetővé a látogatóknak, hogy a helyes jelszó megadásával feloldják a védett tartalmat.
   - Adj hozzá jelszómezőt. Az űrlapművelet beállításaiban válaszd ki ezt a mezőt. Ha nem választasz mezőt, a Bricks az űrlap első jelszómezőjét használja.
   - Testre szabhatod az űrlapművelet hibaüzenetét. Az alapértelmezett hibaüzenet: `Incorrect password.`

A jelszóvédelmi sablonok elsőbbséget élveznek az egyéb illeszkedő tartalmi sablonokkal szemben. Ha egy aktív jelszóvédelmi sablon illeszkedik az aktuális oldalra, a Bricks azt a sablont jeleníti meg tartalmi sablonként, amíg a látogató fel nem oldja a tartalmat, vagy a védelem más módon meg nem kerülődik.

Hibás jelszónál az űrlap a hibaüzenetét mutatja, és az oldal zárolva marad. Helyes sablonjelszónál az űrlap a sikerüzenetét mutatja, és nagyjából egy másodperc múlva az oldal újratöltődik a védett tartalommal.

## A jelszó forrása

A jelszóvédelem viselkedése a kiválasztott jelszóforrástól függ.

### Sablonjelszó

A **Sablonjelszó** a sablonbeállításokban megadott jelszót alkalmazza minden olyan oldalra vagy bejegyzésre, amely megfelel a sablonfeltételeknek. Az egyes bejegyzéseknél semmit nem kell beállítani. Elég:

- megadni a jelszót a **Beállítások → Sablonbeállítások → Jelszóvédelem → Jelszó** alatt,
- meghatározni a sablonfeltételeket a **Beállítások → Sablonbeállítások → Feltételek** alatt, hogy hol érvényes a sablon.

Minden, a feltételeknek megfelelő tartalomnál automatikusan megjelenik a jelszóűrlap, korlátozva a hozzáférést.

Ha a látogató a helyes sablonjelszót adja meg, a Bricks egy kivonatolt jelszósütit tárol `brx_pp_` néven, a WordPress sütikivonatával kiegészítve. A sütit a sablonjelszóval veti össze, így egyetlen feloldás a sablon által védett összes oldalt feloldja. A süti HTTP-only, az aktuális SSL-állapotot használja, és alapból 10 nap után lejár. A lejáratot a `bricks/password_protection/cookie_expires` szűrővel módosíthatod.

### Bejegyzésjelszó

A **Bejegyzésjelszó** esetén a sablon az alapértelmezett WordPress jelszóvédelmi űrlapot szabja testre, de az egyes bejegyzések szintjén külön jelszót kell beállítani. A bejegyzésjelszavas védelem lépései:

1. Kapcsold be a jelszóvédelmet minden bejegyzésnél vagy oldalnál a WordPress szerkesztőjében.
2. Állíts be jelszót közvetlenül az egyes bejegyzésen vagy oldalon (a gyorsszerkesztésben is lehet).
3. A sablonfeltételek azt határozzák meg, hol érvényes a jelszóűrlap egyéni megjelenése. A védelmet viszont bejegyzésszinten kell kezelni.

Bejegyzésjelszóknál a Bricks a WordPress jelszóvédelmes bejegyzéseinek folyamatát használja: a Bricks-űrlap a WordPress `postpass` műveletéhez küld, és a WordPress dönt arról, hogy az aktuális bejegyzés még jelszót igényel-e. A sablonjelszó, a bejelentkezett felhasználók kivétele és az ütemezés nem érvényes, ha a forrás Bejegyzésjelszó.

### Sablon- és bejegyzésjelszó

A **Sablon- és bejegyzésjelszó** alapból a sablonjelszót használja. Ha viszont egy bejegyzésnek egyéni jelszava van, az élvez elsőbbséget.

Beállítás:

1. Adj meg jelszót a **Jelszóvédelem → Jelszó** mezőben.
2. Add meg a sablonfeltételeket, hogy a védelem a megfelelő tartalmakra vonatkozzon.
3. Azoknál a bejegyzéseknél, ahol egyéni jelszó van beállítva, az felülírja a sablonjelszót.

Ez rugalmasságot ad: egyes tartalmaknak egyedi jelszava lehet, miközben a sablon alá tartozó összes többi tartalmat általános védelem óvja.

## Ütemezés és megkerülés

Az ütemezés a sablonjelszavas védelemre érvényes. Ha nincs ütemezés bekapcsolva, a sablonjelszavas védelem mindig aktív, amikor a sablonfeltételek illeszkednek. Ha kezdő dátumot adsz meg, a védelem az időpont után kezdődik. Ha záró dátumot adsz meg, a védelem az időpont után megszűnik. A **Kezdő dátum** és **Záró dátum** mezők UTC+0-ként vannak felcímkézve, ezért az ütemezési időket UTC+0 szerint add meg.

A **Letiltás bejelentkezett felhasználóknak** a sablonjelszavas védelmet minden bejelentkezett látogatónál megkerüli. Ha az illeszkedő bejegyzést WordPress-bejegyzésjelszó is védi, és ez a megkerülés sablonjelszó-forráson keresztül be van kapcsolva, a Bricks a bejelentkezett felhasználóknál a WordPress jelszókövetelményét is kihagyja.

Ha a jelszóvédelmi sablonnak nincs sablonjelszava, és a forrás nem Bejegyzésjelszó, a Bricks nem jeleníti meg a sablont jelszókapuként.

## Sablonrészek és felugró ablakok

A jelszóvédelmi sablonok az elavult **Fejléc letiltása**, **Lábléc letiltása** és **Felugró ablakok letiltása** beállításokkal el tudják rejteni a szokásos fejlécet, láblécet és felugró ablakokat. Ezek a vezérlők csak a visszamenőleges kompatibilitás miatt maradtak meg.

Új sablonoknál inkább magát a jelszóvédelmi sablont tervezd úgy, hogy az legyen a teljes kapu, amit a látogató lát. Ha egy régebbi sablonon ezek a beállítások be vannak kapcsolva, a Bricks eltávolítja a megfelelő fejléc-, lábléc- vagy felugró ablak-sablonrészeket, amíg a jelszóvédelmi sablon aktív.

## Fejlesztői szűrők

- `bricks/password_protection/cookie_expires`: a jelszósüti lejárata.
- `bricks/password_protection/is_active`: mikor legyen aktív a jelszóvédelmi sablon.
