# Biztonsági jó gyakorlatok

> A Gravity Forms telepítésének biztonsági szempontjai: szerver, jogosultságok, bejelentkezéshez kötött űrlapok, REST API, CSP és a fájlok épségének ellenőrzése.

A Gravity Forms telepítésénél több biztonsági szempontot kell végiggondolni. Ez a fejezet segít a webhely tulajdonosának és rendszergazdájának megérteni a kockázatokat, és a beállításokat a saját igényeikhez igazítani. A bővítmény biztonsági felépítéséről a [Biztonsági összefoglaló](https://hub.hellowp.io/hu/plugins/gravityforms/hogyan-biztonsagi-osszefoglalo/) szól.

## A webszerver és a WordPress védelme

A Gravity Forms csak annyira biztonságos, amennyire a szerver, amelyre telepítetted. Ezért a vizsgálatot a rendszerrel, a webszerverrel és a WordPress-szel kezdd.

- **Szerver és WordPress:** ha saját szervert üzemeltetsz, használd a PHP és a webszerver legfrissebb verzióját, és fontold meg a HTTPS kikényszerítését minden oldalon. Állíts be rendszeres mentést, és kövesd a WordPress dokumentációjának a WordPress keményítéséről szóló tanácsait. Felügyelt tárhelyen ennek nagy részét a szolgáltató elvégzi.
- **Biztonsági szolgáltatások:** egy tűzfal első védvonalként még a szerver előtt megállíthatja a támadásokat. Ilyen szolgáltatás például a Sucuri, a Cloudflare és az Imperva.
- **Frissítések:** tartsd frissen a WordPresst, a bővítményeket és a sablonokat a karbantartási terv részeként; a mulasztás komoly biztonsági kockázat. Ha már nem akarod fenntartani a Gravity Forms licencét, távolítsd el a bővítményt a webhelyről. Részletek: [A frissítések fontossága](https://hub.hellowp.io/hu/plugins/gravityforms/hogyan-frissitesek-fontossaga/).

## A Gravity Forms biztonsági funkciói

### Automatikus háttérfrissítések

Ha új kiadás érhető el, a rendszergazdák értesítést kapnak a vezérlőpulton. Bekapcsolt automatikus háttérfrissítésnél a Gravity Forms magától frissül. Az 1.9.2-es verziótól minden új telepítésen alapból be van kapcsolva. Kikapcsolható a Gravity Forms beállításai között vagy a WordPress konfigurációs fájljában, de bekapcsolva tartani ajánlott. Automatikusan csak fontos hibajavítások és biztonsági kiadások települnek, a fő verziók nem.

### Finomhangolt jogosultságok

Nem kell mindenkinek mindent engedélyezni a Gravity Formsban. A felhasználói szerepkörökhöz rendelt jogosultságokkal pontosan szabályozhatod, ki mit tehet. Jó szabály, hogy minden szerepkör csak a szükséges jogosultságot kapja. A részleteket a [Szerepkörök](https://hub.hellowp.io/hu/plugins/gravityforms/beallitasok-szerepkorok/) fejezet tartalmazza. A WordPress a szerepkörök és jogosultságok kezeléséhez önmagában nem ad felületet, ahhoz bővítmény kell; ilyen például a Members.

### Bejelentkezéshez kötött űrlapok

Az űrlap beállításai között megadhatod, hogy csak bejelentkezett felhasználók lássák az űrlapot; a névtelen látogatók üzenetet kapnak. Az ilyen űrlapokat speciális biztonsági tokenek (nonce-ok) védik, amelyek 12 óránként frissülnek. Ezért az ilyen oldalakat nem szabad gyorsítótárazni, különben a beküldések meghiúsulnak. A legtöbb gyorsítótár-bővítmény alapbeállítása ezt eleve megengedi.

### Spamvédelem

A spam elsősorban bosszantó, de ha nem kezeled, komoly gond lehet belőle. A Gravity Forms több módszert támogat a felismerésére, ezeket a [Spamvédelem](https://hub.hellowp.io/hu/plugins/gravityforms/spamvedelem-elso-lepesek/) fejezet írja le.

### Állapot-ellenőrzés

A Gravity Forms beépített ellenőrzést tartalmaz, amely segít a spam és az automatizált támadások ellen. Ez különösen a termékmezős, illetve fizetési szolgáltatóval összekötött űrlapoknál fontos: a rendszer elutasítja azokat a beküldéseket, amelyek a támogatott mezőkbe véletlen vagy váratlan értéket küldenek. Részletek: [Állapot-ellenőrzés](https://hub.hellowp.io/hu/plugins/gravityforms/hogyan-allapot-validacio/).

### Fájlfeltöltés

A feltöltések biztonságáról (korlátozások, tárolás, letöltés elleni védelem, külső tárolás) a [Fájlfeltöltés biztonsága](https://hub.hellowp.io/hu/plugins/gravityforms/hogyan-fajlfeltoltes-biztonsag/) fejezet szól.

### A beküldött adatok tisztítása

A mezők értékeit a beküldéskor WordPress-függvények tisztítják, a kimeneten pedig escape-elés történik.

### Érzékeny adatok

- **Dinamikus kitöltés:** a kitöltött értékeket tartalmazó űrlapok oldalát ne tárold gyorsítótárban, nehogy egy látogató kitöltött adatait mások is lássák. Ha személyes adatot (nevet, e-mail-címet) gyűjtő űrlapod van, érdemes bekapcsolnod a bejelentkezés követelményét.
- **Beküldések:** a beküldések adatai nincsenek titkosítva. Ne használd a Gravity Formst különösen érzékeny adatok (bankkártyaadatok, jelszavak) tárolására, mert adatszivárgásnál súlyos következményei lehetnek.

## A REST API

A Gravity Forms API-ját az **Űrlapok → Beállítások → REST API** oldalon kapcsolhatod be. Két hitelesítési mód van:

1. Az ugyanazon a WordPress-telepítésen futó bővítmények és sablonok a WordPress süti-hitelesítését használják.
2. A külső kliensek lejáró aláírással hitelesítenek.

A webes API a hitelesítés mellett nonce-okat is használ a CSRF (webhelyközi kéréshamisítás) ellen, így más webhelyek nem kényszeríthetnek ki a beleegyezésed nélküli műveletet. A külső alkalmazások kéréseit lejáró aláírás ellenőrzése hitelesíti, ezután a WordPress jogosultság-alapú engedélyezése dönt arról, teljesíthető-e a kérés.

Ha bekapcsoltad az API-t, gondoskodj arról, hogy a titkos kulcs erős és védett legyen. Hozz létre külön API-felhasználót, és csak a legszükségesebb jogosultságot add neki.

## Content Security Policy (CSP)

A CSP egy további védelmi réteg, amely segít felismerni és mérsékelni egyes támadásokat, például a keresztoldali szkriptelést (XSS) és az adatinjektálást. Bekapcsolásához minden szkriptcímkének `nonce` attribútumot kell tartalmaznia. A Gravity Forms 2.5.8-as kiadásától az űrlap beágyazott szkriptjeinek címkéit a WordPress 5.7 vagy újabb állítja elő, így a `wp_inline_script_attributes` szűrővel hozzáadhatók a CSP által megkövetelt attribútumok, például a nonce.

## A forrásfájlok épségének ellenőrzése

Ha attól tartasz, hogy a fájlokat módosították, az md5 ellenőrzőösszegek összevetésével ellenőrizheted őket. Ehhez a Gravity Forms WP-CLI kiegészítője és természetesen a WP-CLI kell. Egy korábbi verzió ellenőrzőösszeg-fájlját a támogatástól kérheted el. Az ellenőrzés parancsa:

```bash
wp gf tool verify-checksums
```

## Biztonsági hiba bejelentése

Az ügyfelek és a kutatók bejelentési módját a [Biztonsági hiba bejelentése](https://hub.hellowp.io/hu/plugins/gravityforms/hogyan-biztonsagi-hiba-bejelentese/) fejezet írja le. Ha azt gyanítod, hogy az oldalad megsérült, nézd meg a [Mit tegyél, ha az oldalad feltörték](https://hub.hellowp.io/hu/plugins/gravityforms/hogyan-feltort-oldal/) fejezetet.
