# Műveletkampók (action hookok)

> A bővítmény fontosabb WordPress-műveletkampói: mikor lépnek működésbe, és milyen paramétereket kapnak.

A műveletkampók (action hookok) a bővítmény működésének meghatározott pontjain futtatnak saját függvényt, például egy vizsgálat végén vagy sikertelen bejelentkezéskor. Segítségükkel külső rendszert köthetsz be, automatizálhatsz reakciókat, vagy bővítheted a működést a bővítmény kódjának módosítása nélkül.

```php
add_action( 'itsec_new_banned_ip', function ( $ip, $context ) {
    // Küldés SIEM-be vagy Slackre, vagy tűzfalszabály indítása.
}, 10, 2 );
```

A hívás utolsó száma a kampó paramétereinek száma.

## Tiltások, zárolások, bejelentkezés

| Kampó | Mikor fut | Paraméterek |
|---|---|---|
| `itsec_new_banned_ip` | új IP-címet tiltottak ki (főleg a Felhasználók tiltása modul) | `$ip` (string), `$context` (a zárolást kiváltó környezet vagy null) |
| `itsec-handle-failed-login` | sikertelen bejelentkezés kezelésekor | `$username`, `$details` |
| `itsec_lockout_template_before_actions` | a zárolási oldal sablonjában, a műveletek előtt | `$context` |
| `itsec_login_with_fingerprint` | bejelentkezés után, az ujjlenyomat meghatározását követően | `$fingerprint`, `$user` |
| `itsec_fingerprint_created` | ujjlenyomat létrejön | `$this` (ITSEC_Fingerprint) |
| `itsec_fingerprint_{$action}` | ujjlenyomat mentésekor (a `{$action}` a művelet neve) | `$this`, `$action` |
| `itsec_failed_recaptcha` | a felhasználó megbukik a reCAPTCHA-n | `$error` (WP_Error), `$args` |
| `itsec_recaptcha_api_ready` | a reCAPTCHA API használatra kész | nincs |

## Kétfaktoros és bejelentkezési köztes oldal

| Kampó | Mikor fut | Paraméterek |
|---|---|---|
| `itsec-two-factor-successful-authentication` | sikeres kétfaktoros hitelesítés | `$user_id`, `$provider_class`, `$post_data` |
| `itsec_two_factor_interstitial_after_auth_page` | a hitelesítési oldal után | `$provider`, `$session`, `$args` |
| `itsec_two_factor_interstitial_pre_render` | a köztes oldal megjelenítése előtt | `$session`, `$provider` |
| `itsec_two_factor_override` | a kétfaktoros hitelesítés felülbírálása egy felhasználónál | `$user`, a lejárat adatai |
| `itsec_login_interstitial_init` | a bejelentkezési köztes oldal keretrendszere elindul | `$this` |
| `itsec_login_interstitial_initialize_same_browser` | a Same Browser API előkészítése aszinkron műveletekhez | `$session` |
| `itsec_login_interstitial_logged_in` | a felhasználó a köztes oldal elküldése után újra bejelentkezik | `$user` |
| `itsec_login_interstitial_async_action_confirmation_before_confirm` | aszinkron művelet megerősítése előtt | `$session`, `$action` |
| `itsec_initialize_login_interstitial_session_from_global_state` | a köztes munkamenet előkészítése a globális állapotból | `$this` |
| `itsec_passwordless_login_initialize_interstitial` | a jelszó nélküli bejelentkezés köztes munkamenete elindul | `$session`, `$args` |
| `itsec_passwordless_login_enqueue_profile_scripts` | a profil jelszó nélküli bejelentkezéshez tartozó szkriptjeinek betöltése | `$user` |

## Jelszókövetelmények és felhasználók

| Kampó | Mikor fut | Paraméterek |
|---|---|---|
| `itsec_register_password_requirements` | a jelszókövetelmények regisztrálásakor | nincs |
| `itsec_validate_password` | a modulok ellenőrzik a jelszót a szabályaik szerint | `$error`, `$user`, `$new_password`, `$args` |
| `itsec_password_requirements_change_form` | a jelszócsere űrlapon | `$user` |
| `itsec_change_admin_user_id` | az 1-es azonosítójú admin felhasználó megváltozott | `$new_user` (azonosító), `$user` (a régi felhasználó) |
| `itsec_create_user_group` | felhasználói csoport létrejön | `$user_group`, `$args` |
| `itsec_update_user_group` | felhasználói csoport módosul | `$user_group`, `$args` |
| `itsec_register_user_group_settings` | a csoportbeállítások regisztrálásakor | a beállításjegyzék |
| `itsec_user_action_{$action}` | felhasználói művelet feldolgozásakor | `$user`, `$actioned_by`, `$args` |
| `itsec_enqueue_profile` | a profiloldal szkriptjeinek betöltésekor | `$user` |
| `itsec_encryption_rotate_user_keys` | titkosítási kulcs cseréje | `$rotator`, `$result` |

## Webhelyvizsgálat, sebezhetőségek, fájlváltozások

| Kampó | Mikor fut | Paraméterek |
|---|---|---|
| `itsec_site_scanner_scan_complete` | a webhelyvizsgálat befejeződött | `$scan`, `$site_id`, `$cached` |
| `itsec_software_vulnerabilities_changed` | a felismert sebezhetőségek köre változott | `$vulnerabilities` (új), `$existing` (régi) |
| `itsec_vulnerability_was_seen` | egy sebezhetőséget észleltek | `$model`, `$issue` |
| `itsec_vulnerability_not_seen` | egy sebezhetőség a legutóbbi vizsgálatban nem szerepelt | `$vulnerability` |
| `itsec-file-change-start-scan`, `itsec-file-change-end-scan` | a fájlváltozás-vizsgálat kezdete és vége | nincs |
| `itsec-file-change-start-hash-comparisons`, `itsec-file-change-end-hash-comparisons` | a hash-összehasonlítás kezdete és vége | nincs |
| `itsec_load_file_change_scanner` | a fájlváltozás-vizsgáló betöltésekor | nincs |
| `itsec-security-check-before-default-checks` | a biztonsági ellenőrzés alapvizsgálatai előtt | a visszajelzések, az elérhető modulok |
| `itsec-security-check-after-default-checks` | az alapvizsgálatok után | a visszajelzések, az elérhető modulok |

## Tűzfal

| Kampó | Mikor fut | Paraméterek |
|---|---|---|
| `itsec_firewall_saved_rule` | tűzfalszabály mentésekor | `$rule` |
| `itsec_firewall_deleted_rule` | tűzfalszabály törlésekor | `$rule` |

## Naplók, értesítések, ütemezés

| Kampó | Mikor fut | Paraméterek |
|---|---|---|
| `itsec_log_add` | naplóbejegyzés hozzáadásakor | `$data`, `$id`, `$log_type` |
| `itsec_register_highlighted_logs` | a kiemelt naplók regisztrálásakor | nincs |
| `itsec-logs-page-init`, `itsec-logs-page-register-widgets`, `itsec-logs-page-register-widget` | a Naplók oldal indulásakor és oldalsávi moduljainak regisztrálásakor | a widget kampónál `$this` |
| `itsec_security_digest_before` | a biztonsági összefoglaló fő tartalma előtt | `$mail`, `$data_proxy`, `$last_sent` |
| `itsec_security_digest_attach_additional_info` | kiegészítő információ csatolásakor az összefoglalóhoz | `$mail`, `$data_proxy`, `$last_sent` |
| `itsec_notification_center_notification_enabled`, `itsec_notification_center_notification_disabled` | értesítés be- vagy kikapcsolásakor | `$slug` |
| `itsec_notification_center_{$slug}_notification_enabled`, `itsec_notification_center_{$slug}_notification_disabled` | egy adott értesítés be- vagy kikapcsolásakor | `$slug` |
| `itsec_notification_center_continue_upgrade` | az értesítési központ frissítésének folytatásakor | a régi verzió |
| `itsec_scheduler_register_events` | az ütemezett események regisztrálásakor (felhasználói művelet után, vagy amikor a bővítmény újraütemez mindent) | `$this` (ITSEC_Scheduler) |
| `itsec_scheduled_{$job->get_id()}` | egy ütemezett feladat futtatásakor | `$job` |

## Beállítások, modulok, eszközök

| Kampó | Mikor fut | Paraméterek |
|---|---|---|
| `itsec-settings-updated` | egy modul beállításai mentődtek | a modul azonosítója |
| `itsec-settings-page-init` | a Beállítások oldal indulásakor | nincs |
| `itsec-settings-page-register-module`, `itsec-settings-page-register-widget` | modul vagy widget regisztrálása a beállítóoldalon | `$this` |
| `itsec-register-modules` | a modulok regisztrálásakor | nincs |
| `itsec_modules_do_plugin_activation`, `itsec_modules_do_plugin_deactivation`, `itsec_modules_do_plugin_uninstall` | a bővítmény aktiválásakor, deaktiválásakor és eltávolításakor | nincs |
| `itsec_modules_do_plugin_upgrade` | a bővítmény frissítésekor | `$old_version`, `$new_version` |
| `itsec_register_tools` | az eszközök regisztrálásakor | `$registry` |
| `itsec_before_import`, `itsec_after_import` | az importálás előtt és után | `$data` (tömb) |
| `itsec_install_schema` | az adatbázis-séma telepítésekor vagy frissítésekor | `$wp_error` |
| `itsec_lib_write_to_file` | a bővítmény kezelt fájlba ír | `$file`, `$contents` |
| `itsec_lib_delete_file` | a bővítmény kezelt fájlt töröl | `$file` |

## Egyéb

| Kampó | Mikor fut | Paraméterek |
|---|---|---|
| `itsec_initialized` | a bővítmény inicializálódott | nincs |
| `itsec-lib-clear-caches` | a gyorsítótárak törlésekor | nincs |
| `itsec_custom_login_slug` | az egyéni bejelentkezési cím (a Backend elrejtése modul) kezelésekor | nincs |
| `itsec_dashboard_enqueue_scripts` | a vezérlőpult szkriptjeinek betöltésekor | nincs |
| `itsec_prepare_dashboard_response` | a vezérlőpult REST-válaszának előkészítésekor | `$response`, `$item`, `$request` |
| `itsec_requirements_error` | követelményhiba esetén | `$error` (WP_Error) |
| `itsec-page-ajax`, `itsec-page-show` | az adminoldalak AJAX-kezelésekor és megjelenítésekor | a `page-show` kampónál `$url` |
| `itsec_debug_page`, `itsec_debug_page_enqueue` | a Hibakeresés oldal megjelenítésekor és szkriptjeinek betöltésekor | nincs |
| `itsec_debug_module_request_{$module}` | egy modulnak küldött AJAX-kérésnél a Hibakeresés oldalon (a `{$module}` a modul neve, például `notification-center`) | `$data` (tömb) |
| `it_libraries_loaded` | a belső könyvtárak betöltődtek | nincs |
| `ithemes_updater_register`, `ithemes_updater_settings_page_index` | a frissítő regisztrálásakor és beállítóoldalának megjelenítésekor | az elsőnél `$this` |
