# WordPress-sók és a Gravity Forms kompatibilitása

> Mi romlik el, ha megváltoznak a WordPress biztonsági kulcsai és sói: titkosított adatok, fájlletöltések, mappanevek, gyorsítótár, nonce-ok, Signature és Square kiegészítő.

A WordPress-sók (salt) olyan titkosítási kulcsok, amelyek a sütik, a hitelesítési tokenek és más érzékeny adatok védelmét szolgálják. Ha a sók megváltoznak, a Gravity Forms több olyan funkciója is elromolhat, amely titkosításra, hashelésre vagy ellenőrzésre használja őket.

Egyes biztonsági bővítmények már a webhely sóit is rendszeresen, automatikusan cserélik. Ez több, sóalapú titkosításra és hashelésre épülő Gravity Forms funkciót tönkretesz.

## Mik a WordPress-sók

A WordPress nyolc egyedi kulcsot és sót használ, amelyek a `wp-config.php` fájlban vannak, és a felhasználói munkamenetek és az adatok védelmét erősítik. A Gravity Forms ezeket a `wp_salt()` és a `wp_hash()` WordPress-függvényeken keresztül használja különböző biztonsági és adatintegritási funkciókhoz.

## Érintett funkciók

### Adattitkosítás

A Gravity Forms a sókat érzékeny adatok titkosítására használja. Ha a sók megváltoznak, a titkosított adatok nem fejthetők vissza. Ez érinti:

- **A titkosított mezőértékeket:** minden olyan mezőértéket, amelyet a `GFCommon::openssl_encrypt()` vagy a már elavult `GFCommon::encrypt()` titkosított.
- **A belső adattárolást:** a különféle belső adatszerkezeteket, amelyek titkosítást használnak.

### Fájlletöltések

Sóváltás után a feltöltött fájlok letöltési hivatkozásai elérhetetlenné válnak. Ez érinti a fájlfeltöltési mezőket, az értesítő e-maileket és a beküldés részleteit a WordPress adminfelületén. A látogatók a korábbi hivatkozásokkal nem érik el a fájlokat. A régi sókkal készült hivatkozások elérését csak a korábbi sóértékek visszaállítása adja vissza, ez viszont elrontja a sóváltás után készült új hivatkozásokat.

**A régi fájlok elérése.** A fájlok nem törlődnek, az eredeti feltöltési mappájukban maradnak a szerveren. Ha egy konkrét fájlt el kell érned, megteheted közvetlenül FTP-vel vagy SFTP-vel a `/wp-content/uploads/gravity_forms/` mappából, a WordPress médiatárból (ha a fájlokat oda is felvették), vagy kérd a tárhelyszolgáltató segítségét a fájlok megkeresésében.

### Feltöltési mappák nevei

Az űrlapok feltöltési mappáit az űrlap azonosítójából és a WordPress-sókból képzett hash alapján nevezik el. A szerkezet:

```
/wp-content/uploads/gravity_forms/{form_id}-{hash}/
```

Sóváltáskor:

- Az új feltöltések másik mappába kerülnek.
- A korábban feltöltött fájlok a régi mappaszerkezetben maradnak.
- Ez zavart és fájlkezelési problémákat okozhat.

### Tartós gyorsítótár

Ha a tartós gyorsítótárat a `GFCache::set()` használja, a gyorsítótár-kulcsokat a WordPress-sókkal hashelik. A sóváltás:

- érvényteleníti az összes tartós gyorsítótár-bejegyzést,
- új gyorsítótár-kulcsokat hoz létre a későbbi bejegyzésekhez,
- érinti a választós és árazási mezők állapotellenőrzését.

Hatás: a gyorsítótárazott oldalváltozatok lekérésekor az űrlap ellenőrzése megbukhat.

### Nonce-ok ellenőrzése

A WordPress nonce-okat a sókból állítják elő, és a Gravity Forms is használja őket a biztonsági ellenőrzésekhez. A nonce-ok maguktól lejárnak, de sóváltáskor az összes aktív nonce azonnal érvénytelen lesz.

| Nonce-kategória | Érintett műveletek |
|---|---|
| Űrlap beküldése és megjelenítése | Beküldés a weboldalon, AJAX-os beküldés, Mentés és folytatás hivatkozások, fájlfeltöltés beküldés közben |
| Űrlapkezelés (admin) | Új űrlap létrehozása, űrlapbeállítások mentése, űrlapok aktiválása és kikapcsolása, űrlap másolása, törlése vagy kukába tétele, tömeges űrlapműveletek, űrlapcímek mentése |
| Űrlapszerkesztő | Mezők hozzáadása és másolása, mező törlése, beviteli típus módosítása, mezőelőnézet frissítése, űrlap mentése, űrlapadatok lekérése AJAX-szal, egyéni választási lehetőségek kezelése |
| Beküldések kezelése | Beküldés mentése vagy szerkesztése, törlése, visszaállítása, tulajdonságainak módosítása, tömeges műveletek, fájlok törlése a beküldésből, megjegyzés hozzáadása vagy módosítása |
| Értesítések és megerősítések | Értesítések be- és kikapcsolása, újraküldése, listák kezelése, megerősítések be- és kikapcsolása, listák kezelése |
| Import és export | Űrlapok exportálása, exportfolyamat indítása, exportfájlok letöltése, űrlapok importálása |
| Beállítások | Bővítménybeállítások mentése, a bővítmény eltávolítása, kiegészítők beállításainak mentése, feedek kezelése és sorrendezése, előfizetések lemondása |
| REST API | API-kulcsok visszavonása és szerkesztése, JSON API-műveletek |
| Háttérfeldolgozás | Háttérfeladatok, kényszerített frissítések, frissítési állapot ellenőrzése |
| Szerkesztő-integráció | Shortcode-előnézet, szerkesztőbeállítások mentése, blokkszerkesztő-műveletek, űrlapok beágyazása |
| Rendszer és naplózás | Rendszerjelentés-műveletek, naplózás kikapcsolása, üzenetek elrejtése, űrlapok és beküldések zárolása (egyidejű szerkesztés) |

## Érintett kiegészítők

### Signature kiegészítő

A **Signature** kiegészítő a fájlfeltöltéssel azonos hash-előállítást, a `GFCommon::generate_download_hash()` függvényt használja. Sóváltáskor:

- A meglévő aláírásképek hivatkozásai elérhetetlenné válnak.
- A sóváltás előtt küldött értesítő e-mailekben az aláírások nem jelennek meg.
- A beküldések részleteiben az aláírásképek nem biztos, hogy betöltődnek.

### Square kiegészítő

A **Square** kiegészítőt különösen érinti a sóváltás, mert a `GFCommon::openssl_encrypt()` és a `GFCommon::openssl_decrypt()` függvényekkel tárolja az érzékeny fizetésfeldolgozási adatokat. Sóváltáskor:

- **OAuth hozzáférési tokenek:** a Square API-tokenjei elérhetetlenek lesznek, megszakad a kapcsolat a Squarerel.
- **OAuth frissítő tokenek:** a hosszú élettartamú frissítő tokenek nem fejthetők vissza.
- **Kereskedői azonosító:** a Square kereskedői azonosítási adatai elérhetetlenné válnak.

Hatás: a Squarerel fizető űrlapok azonnal leállnak. A kapcsolat visszaállításához újra csatlakoznod kell a Squarehez a kiegészítő beállításaiban.

## Megelőzés és mérséklés

### Az automatikus sócsere kikapcsolása

Ha olyan biztonsági bővítményt használsz, amely automatikusan cseréli a WordPress-sókat (például a Sucuri automatikus sócsere funkciója), kapcsold ki ezt a funkciót, hogy ne tegye tönkre a Gravity Forms működését.

### Kézi sóváltás

Ha biztonsági okból kézzel kell cserélned a WordPress-sókat, vedd figyelembe, hogy ez elrontja a fájlletöltési és aláírás-hivatkozásokat és a titkosított adatokat, és akár le is választhatja a fizetési integrációkat. A váltás után minél előbb állítsd helyre a fizetési átjárók kapcsolatait. Fontold meg, hogy értesíted azokat a felhasználókat, akik korábban e-mailben kaptak fájlhivatkozást, mert azok nem működnek tovább. A váltás előtt exportáld a kritikus adatokat.

### Teendők sóváltás után

1. **Fizetési átjárók újracsatlakoztatása.** Ha Squaret vagy más olyan kiegészítőt használsz, amely titkosítva tárolja a hitelesítő adatokat, csatlakozz újra a kiegészítő beállításaiban.
2. **Űrlapbeküldések tesztelése.** Küldj próbabeküldéseket, és ellenőrizd, hogy az űrlapok jól működnek.
3. **Gyorsítótár törlése.** Ürítsd a WordPress és az esetleges külső gyorsítótárazó bővítmények gyorsítótárát.
4. **Értesítések figyelése.** Ellenőrizd, hogy az értesítő e-mailek kimennek, és az új értesítésekben lévő fájlhivatkozások működnek.
