# Spamvédelem: első lépések

> A beépített spamvédelmi lehetőségek: megfelelő mezőtípusok, többoldalas űrlap, kérdés a Beküldés gombon, Spamészlelés és korlátozások.

Minden nyilvánosan elérhető űrlapot előbb-utóbb elér a spam, és a spammerek módszerei folyamatosan változnak. Egyetlen megoldás sem fogja meg a spam 100%-át, ezért érdemes több védelmi réteget együtt használni. Ez a fejezet a Gravity Forms beépített lehetőségeit gyűjti össze.

## Az űrlap állapota

Ha egy űrlapra már nincs szükség, vagy most nem használod, az **Űrlapok** listában állítsd **Inaktív**ra az állapotkapcsolóját, vagy tedd a **Lomtár**ba. Az inaktív és a lomtárba tett űrlap nem fogad és nem dolgoz fel beküldést.

## Mezők és űrlaptervezés

### Megfelelő mezőtípus

A beépített érvényesítés (az „állapot-ellenőrzés”) alapból kiszűri azokat a spamküldéseket, amelyek véletlenszerű vagy váratlan értéket küldenek egy támogatott mezőnek. Ennek az a feltétele, hogy a mező típusa illeszkedjen a várt adathoz. Ezért a helyes mezőtípus megválasztása a spam ellen is segít:

| Adat | Ajánlott mezőtípus |
|---|---|
| Név | Név, Egysoros szöveg |
| E-mail-cím | E-mail |
| Cím | Cím |
| Weboldal, URL, hivatkozás | Weboldal |
| Telefonszám | Telefon |
| Általad megadott fizetési vagy adományösszeg | Termék, Szám |
| Számértékek | Szám, Mennyiség |
| Dátumok | Dátum |
| Egysoros szöveg | Egysoros szöveg |
| Többsoros szöveg | Bekezdés |
| Egy választás | Feleletválasztós, Rádiógombok, Legördülő lista, Termék, Opció, Mennyiség, Szállítás, Hozzájárulás |
| Több választás | Feleletválasztós, Jelölőnégyzetek, Opció |
| Általános szerződési feltételek, adatkezelési tájékoztató | Hozzájárulás |
| Fájlfeltöltés | Fájlfeltöltés |

### Hivatkozások és URL-ek tiltása

Az **Egysoros szöveg**, a **Bekezdés**, a **Lista** és a **Rejtett** mező **Szabályok** részében kapcsolható be a **Nincs hivatkozás/URL** beállítás. A **Név**, a **Cím** és a **Telefon** mező (nemzetközi, formázatlan formátum esetén) értékeit a rendszer magától ellenőrzi hivatkozásra és URL-re. Ha talál ilyet, a mező érvénytelen lesz, vagy ha a haladó honeypot be van kapcsolva, a beküldés spamnek minősülhet. A pontos viselkedést az űrlap **Spamészlelés** beállítása határozza meg (lásd lent és a haladó honeypotról szóló fejezetet).

### Többoldalas űrlap

Az **Oldal** mezővel hosszú űrlapot több oldalra bonthatsz. Ennek elsődleges célja a jobb használhatóság, de a botoknak is megnehezíti a spamküldést. Ha az **Oldal** mezők **Tovább** gombján feltételes logikát állítasz be, a botok egy része nem jut el az űrlap későbbi oldalaira: ha a beküldést akkor erőltetik, amikor a gomb rejtett vagy letiltott, az űrlap nem megy át az érvényesítésen.

### Fizetési űrlapok

Ha kártyás vagy fizetési kiegészítős mezővel fogadsz fizetést, tedd az űrlapot többoldalassá, és a kártya- vagy fizetési mezőt az utolsó oldalra helyezd. A **Tovább** gombok feltételes logikájával és a korábbi oldalak mezőinek kötelezővé tételével a kártyamező csak azokhoz jut el, akik sikeresen kitöltötték az előző oldalakat. Ez csökkenti a „kártyatesztelő” csalások kockázatát.

### Kérdés a Beküldés gombon

Tegyél az űrlapra egy **Egysoros szöveg**, **Szám** vagy **Feleletválasztós** mezőt, amely egy egyszerű kérdést tesz fel. Egy ember helyesen megválaszolja, a legtöbb bot nem. Néhány példa:

- A panda fekete és ____
- 4 + 7 = ____
- Ami felmegy, annak le is kell ____
- Hány lába van a tehénnek?
- Milyen színű általában az ég?
- Milyen hangot ad ki a macska?
- Minek hívjuk a fagyott vizet?
- Mennyi 10 mínusz 4?

Az űrlapszerkesztőben jelöld ki a **Beküldés gombot**, és a beállításaiban kapcsold be a gomb feltételes logikáját úgy, hogy a gomb csak a helyes válasznál jelenjen meg. Ha valaki rossz választ ad, nem tudja beküldeni az űrlapot. Ha a beküldést a gomb rejtett vagy letiltott állapotában erőltetik, az érvényesítés elbukik.

## Spamészlelés az űrlap beállításaiban

A haladó honeypotot az űrlap **Beállítások → Űrlap beállításai** oldalán, a **Spamészlelés** szakaszban kapcsolod be, a **Spam észlelése a haladó honeypot segítségével** kapcsolóval. A szakaszban van a **Spam esetén használt egyéni megerősítés** kapcsoló is: bekapcsolva az űrlap **Megerősítések** területén külön megerősítés adható a spamként beküldött űrlapokhoz.

![Az űrlap beállításai oldal alján a Spamészlelés szakasz két kapcsolóval](./kepek/spamvedelem-1-urlap-beallitasok.webp)

*Az űrlap beállításai oldal alján a Spamészlelés szakasz két kapcsolóval* (https://minta-bolt.hu/wp-admin/admin.php?page=gf_edit_forms&view=settings&subview=settings&id=1)

A kép alján, a **Korlátozások** alatt látszik a **Spamészlelés** szakasz: a **Spam észlelése a haladó honeypot segítségével** és a **Spam esetén használt egyéni megerősítés** kapcsoló, mindkettő kikapcsolva.

A haladó honeypot részleteit (a rejtett mező, a JavaScript-azonosító, az állapot-ellenőrzés, a beküldési sebesség ellenőrzése és a hivatkozásészlelés) a [következő fejezet](https://hub.hellowp.io/hu/plugins/gravityforms/spamvedelem-halado-honeypot/) írja le.

## Korlátozások

Ugyanezen az oldalon, a **Korlátozások** szakaszban három, spam ellen is használható beállítás van:

- **Bejegyzések számának korlátozása**: a bejegyzések számának felső határa,
- **Űrlap időzítése**: az űrlap meghatározott időszakra szól,
- **Bejelentkezés megkövetelése**: az űrlapot csak bejelentkezett felhasználók tölthetik ki.

## Mi történik, ha egy beküldést spamnek jelöl a rendszer

A hibás beküldés vagy blokkolva lesz (semmi sem mentődik, nem jön létre bejegyzés), vagy a bejegyzés spam állapottal mentődik. A spamként mentett bejegyzések a **Bejegyzések** lista **Spam** szűrője alatt találhatók. Az ilyen beküldésnél az űrlap értesítései és a kiegészítők feedjei nem futnak le.

A megerősítésnél, ha be van kapcsolva, az egyéni spammegerősítés jelenik meg. Ha nincs, az új űrlapoknál használt alapértelmezett szöveg látszik a beállított megerősítések helyett. Egy spamként jelölt bejegyzés megnyitásakor gyakran egy jegyzet jelzi, melyik rendszer vagy szabály minősítette spamnek. Erről a [spamnek jelölt bejegyzések kezeléséről szóló fejezetben](https://hub.hellowp.io/hu/plugins/gravityforms/spamvedelem-spam-bejegyzesek/) olvashatsz.

## Naplózás

Ha egy bejegyzést spamnek jelölt a rendszer, a naplózás segít kideríteni az okot. A naplózás bekapcsolásáról és a napló értelmezéséről a [spamnek jelölt bejegyzések hibaelhárítása](https://hub.hellowp.io/hu/plugins/gravityforms/spamvedelem-spam-bejegyzesek/) szól.

## Szűrők testreszabáshoz

Fejlesztőknek három szűrő hasznos:

- `gform_honeypot_labels_pre_render`: a honeypot mező címkéjének módosítása.
- `gform_honeypot_input_name`: a honeypot rejtett mező név attribútumának módosítása, ha gyanítod, hogy egy bot megismerte a nevet.
- `gform_confirmation`: a spamnek jelölt beküldésnél megjelenő üzenet testreszabása.

## Következő lépések

Egyetlen megoldás sem fog meg minden spamet, ezért a legjobb eredményt több módszer együttese adja. A kiegészítőkről, külső bővítményekről és kódrészletekről a [spamvédelmi kiegészítők és megoldások](https://hub.hellowp.io/hu/plugins/gravityforms/spamvedelem-kiegeszitok-es-megoldasok/) fejezet szól.
