# WP-CLI parancsok

> A wp lw-firewall parancsai: állapot, beállítások, botok, IP-listák, országok, kitiltások, napló, worker, riasztás, jelszó-visszaállítás és kétlépcsős.

Főparancs: `wp lw-firewall`. A `--format` kapcsoló mindenhol `table` (alap), `json`, `csv` vagy `yaml`. A kimenet angol. Az alábbi kimenetek egy alapbeállítású teszt-oldalról valók.

## status

```text title="Kimenet"
$ wp lw-firewall status
setting	value
Enabled	Yes
Storage (preference)	auto
Storage (active)	File (auto)
Rate limit	30 req / 60s
Action	redirect
Protect wp-cron.php	Off
Protect xmlrpc.php	On
Protect wp-login.php	On
Protect REST API	Off
Protect 404 flood	Off
Auto-ban	Off
Security headers	Off
IP whitelist	0 entries
IP blacklist	0 entries
Geo blocking	On (6 countries)
Logging	Off
MU-Plugin worker	Installed
Worker version	1.9.0
Blocked bots	14 entries
```

## Beállítások: config, config-items

| Parancs | Mit csinál |
|---|---|
| `wp lw-firewall config list` | Minden beállítás kulcs–érték párban; a listák `[a, b]` alakban. |
| `wp lw-firewall config get <kulcs>` | Egy érték. |
| `wp lw-firewall config set <kulcs> <érték>` | Egy érték írása. Listát vesszővel vagy újsorral adsz meg; logikai értéknek `true`/`false`, `1`/`0`, `yes`/`no`, `on`/`off` is jó. |
| `wp lw-firewall config reset [--yes]` | Minden beállítás alapértékre. A `wp-config.php`-ban rögzített kulcsok maradnak. |
| `wp lw-firewall config-items add <kulcs> <elem>` / `remove <kulcs> <elem>` | Egy elem hozzáadása vagy törlése egy listás beállításban. |

```text title="Kimenet"
$ wp lw-firewall config get rate_limit
30
$ wp lw-firewall config list
key	value
enabled	true
storage	auto
rate_limit	30
rate_window	60
action	redirect
…
geo_enabled	true
blocked_countries	[CN, RU, IN, VN, ID, BD]
twofa_enabled	false
…
```

Példák:

```bash title="Terminál"
wp lw-firewall config set rate_limit 60
wp lw-firewall config set protect_rest_api true
wp lw-firewall config set add_to_cart_require_cookie true
```

Üzenetek: siker esetén `Set '<kulcs>' to <érték>.`; ismeretlen kulcsnál `Unknown setting key: '<kulcs>'`; hibás értéknél `Invalid value for '<kulcs>': …`. Ha a kulcsot a `wp-config.php` rögzíti: `'<kulcs>' is pinned by <KONSTANS> in wp-config.php. Remove the constant to change it.`

## Botok: bots

```text title="Kimenet"
$ wp lw-firewall bots list
#	user_agent
1	meta-externalagent
2	gptbot
3	bytespider
…
14	dataforseobot
```

`wp lw-firewall bots add "<részszöveg>"` és `wp lw-firewall bots remove "<részszöveg>"`.

## IP-listák: ip

```text title="Kimenet"
$ wp lw-firewall ip list whitelist
No IPs in whitelist.
```

```bash title="Terminál"
wp lw-firewall ip add whitelist 203.0.113.10
wp lw-firewall ip add blacklist 198.51.100.0/24
wp lw-firewall ip remove blacklist 198.51.100.0/24
```

## Országok: geo

```text title="Kimenet"
$ wp lw-firewall geo list
#	code	cached
1	CN	ok
2	RU	ok
3	IN	ok
4	VN	ok
5	ID	ok
6	BD	ok
```

| Parancs | Mit csinál |
|---|---|
| `wp lw-firewall geo add <kód>` | Hozzáadja az országot, **és bekapcsolja a geo blokkolást**: `Added 'CN' to blocked countries. Geo blocking enabled.` |
| `wp lw-firewall geo remove <kód>` | Kiveszi az országot. Pl. ha Indiából vásárlók jönnek: `geo remove IN`. |
| `wp lw-firewall geo update` | Letölti a listákat minden tiltott országhoz: `Updated CIDR cache for CN.` … `CIDR cache update complete.` Rendszer-cronból is futtatható. |

## Kitiltások és zárolások: ban, user-lock

| Parancs | Mit csinál |
|---|---|
| `wp lw-firewall ban list` | A kitiltott címek. Az `active` oszlop `no`, ha a kitiltás csak nyilvántartva van (a tároló kiürült). |
| `wp lw-firewall ban check <ip>` | Ki van-e tiltva a cím. |
| `wp lw-firewall ban remove <ip>` | Feloldás, a számlálókkal együtt. |
| `wp lw-firewall ban clear [--yes]` | Minden kitiltás feloldása. |
| `wp lw-firewall user-lock list` | A zárolt felhasználónevek. |
| `wp lw-firewall user-lock remove <felhasználó>` | Egy felhasználónév feloldása: `Unlocked '<felhasználó>'.` |
| `wp lw-firewall user-lock clear` | Minden zárolás feloldása. |

```text title="Kimenet"
$ wp lw-firewall ban list
No banned IP addresses.
$ wp lw-firewall user-lock list
No locked usernames.
```

Kézi kitiltásra nincs parancs: azt az **IP szabályok** fül **Cím kitiltása** mezője vagy a REST teszi.

## Napló: logs

```text title="Kimenet"
$ wp lw-firewall logs list --limit=5
No log entries found.
```

A `--limit` alapból 20; oszlopok: `time`, `ip`, `reason`, `ua`, `url`. Ürítés: `wp lw-firewall logs clear [--yes]`.

## Worker: worker

- `wp lw-firewall worker install` újratelepíti a workert: `MU-plugin worker installed.`
- `wp lw-firewall worker remove` eltávolítja: `MU-plugin worker removed.`

Külön állapotparancs nincs: a worker állapotát a `wp lw-firewall status` mutatja.

## Admin-riasztás: alerts

```text title="Kimenet"
$ wp lw-firewall alerts status
setting	value
Alerts enabled	No
Scheduled scan	Yes
Track identity changes	Yes
Recipients	admin@pelda.hu
Administrators now	1
Snapshot taken	2026-10-28 17:16:12 UTC
Next scan	not scheduled
```

| Parancs | Mit csinál |
|---|---|
| `wp lw-firewall alerts scan` | Azonnali összevetés. Rendszer-cronból is futtatható, ha a WP-Cron ki van kapcsolva. Kikapcsolt riasztásnál: `Administrator alerts are disabled — nothing to do.` |
| `wp lw-firewall alerts test` | Teszt e-mail küldése. |
| `wp lw-firewall alerts baseline [--reset]` | A pillanatkép megjelenítése, `--reset`-tel újrafelvétele. |

## Jelszó-visszaállítás: reset

```text title="Kimenet"
$ wp lw-firewall reset status
setting	value	key
Reset protection	Yes	reset_protect_enabled
Proof of render	Yes	reset_proof_enabled
Single-use token	Yes	reset_single_use
Auto-ban	No	reset_auto_ban
Email alert	No	reset_alert_enabled
Block admin resets	No	reset_block_admins
Requests per IP	5	reset_ip_max
Per-IP window (s)	900	reset_ip_window
Requests per account	3	reset_user_max
Per-account window (s)	3600	reset_user_window
Site-wide hourly cap	30	reset_global_max
Minimum fill time (s)	2	reset_min_fill_time
Token lifetime (s)	3600	reset_token_max_age
Ban duration (s)	3600	reset_ban_duration
Alert recipients	admin@pelda.hu	admin_alert_email
```

`wp lw-firewall reset on [--proof] [--auto-ban] [--alert] [--block-admins]` bekapcsolja a védelmet; `wp lw-firewall reset off` kikapcsolja, a korlátok értéke megmarad.

## Kétlépcsős: 2fa

```text title="Kimenet"
$ wp lw-firewall 2fa status
role	users	with_2fa	required
administrator	1	0	no
editor	0	0	no
author	0	0	no
contributor	0	0	no
subscriber	3	0	no
customer	0	0	no
shop_manager	0	0	no
Total: 0 of 4 users have a second factor.
```

- `wp lw-firewall 2fa status <felhasználó>` a felhasználó faktorainak számát mutatja (titkot, kódot soha).
- `wp lw-firewall 2fa reset <felhasználó> [--yes]` minden faktort és megjegyzett eszközt töröl: `Two-factor reset for '<felhasználó>'.` A felhasználó lehet login, e-mail cím vagy azonosító.
