Popis
BeziWorld Activity Log zaznamenává, co uživatelé na vašem webu WordPress dělají: kdo se přihlásil, komu se přihlášení nezdařilo, kdo změnil roli, kdo upravil svůj profil, kdo vytvořil nebo upravil obsah a další. Zaměřuje se na aktivitu uživatelů a jeho cílem je zpřístupnit zdarma funkce, které si konkurenční pluginy vyhrazují pro placené aktualizace.
Navrženo s ohledem na výkon. Události se ukládají do speciální indexované vlastní tabulky (nikdy do wp_posts) a zapisují se v dávkách, aby se minimalizovala zátěž při odesílání požadavků, přičemž události související s bezpečností se ukládají okamžitě. Funkce promezování uchovávání dat automaticky udržuje tabulku v úsporném stavu.
Navrženo pro zajištění důvěryhodnosti. Každá událost je podepsána pomocí HMAC specifického pro daný web a začleněna do řetězce kontrolních bodů propojených hash funkcemi, díky čemuž je možné odhalit jakékoli dodatečné zásahy – včetně vkládání či mazání řádků. Protože útočník s plným přístupem k serveru by mohl přepočítat lokální podpisy, lze podpis posledního kontrolního bodu ukotvit mimo hostitele (zaslat e-mailem nebo odeslat na webhook), takže důkaz integrity opouští stroj.
Navrženo s ohledem na ochranu soukromí. Zaznamenávání IP adres je volitelné a lze je při sběru anonymizovat. Plugin nikdy nekomunikuje s domovským serverem a nikdy nenahrává kód z externích serverů.
Hlavní body
- Ověřování a aktivita na účtu: přihlášení, odhlášení, neúspěšná přihlášení (s omezením frekvence, aby se zabránilo zahlcení protokolu), registrace, změny rolí, změny profilu a metadat uživatele, resetování hesel, hesla pro aplikace, smazání uživatele.
- Aktivity týkající se obsahu: vytvoření a aktualizace příspěvků, stránek a vlastních typů příspěvků (včetně porovnání změn na úrovni polí), změny stavu, přesunutí do koše, obnovení a trvalé smazání; komentáře, multimediální soubory a termíny taxonomie.
- Přehledný a přehledný prohlížeč událostí s indikátory závažnosti, rozbalitelnými řádky s podrobnostmi, tříděním, filtrováním a fulltextovým vyhledáváním.
- Podrobné nastavení: zapnutí nebo vypnutí celých skupin událostí či jednotlivých událostí.
- Pravidla pro vyloučení podle IP adresy/CIDR, přihlašovacího jména uživatele, ID uživatele, role a cesty požadavku.
- Změny v pluginech a šablonách, nastavení, navigační nabídky a životní cyklus žádostí o osobní údaje v rámci GDPR.
- Volitelné integrace: WooCommerce (objednávky, změny stavu, skladové zásoby) a Yoast SEO (metadata a nastavení).
- Oznámení v reálném čase – přes Slack, Discord, Telegram, e-mail a obecný webhook – podle naléhavosti nebo zadaných kódů událostí, zasílaná okamžitě nebo v hodinovém souhrnu. Zdarma.
- Volitelná geolokace při přihlášení (prostřednictvím vámi zvoleného poskytovatele) s automatickým upozorněním v případě přihlášení z nové země.
- Plánované souhrnné zprávy ve formátu HTML zasílané správci e-mailem (denně nebo týdně).
- Statistická obrazovka s grafem denního objemu a rozpisem podle kategorií, uživatelů a událostí.
- Správa aktivních relací: zjistěte, kdo je přihlášen, a ukončete relace. Zdarma.
- Ochrana proti neoprávněné manipulaci: HMAC pro každý řádek plus sekvence kontrolních bodů propojených hash řetězcem s volitelným ukotvením mimo hostitelský server (e-mail/webhook), ověřitelné pomocí WP-CLI (
wp bzal verify-integrity). - Oznámení v reálném čase se spouštějí také na základě vybrané sady kódů událostí, a to bez ohledu na jejich naléhavost.
- Nastavitelná úroveň závažnosti pro jednotlivé kódy událostí, která určuje vzhled oznámení a bezpečnostního štítku.
- Volitelná detekce anomálií: označuje náhlé hromadné mazání dat jedním uživatelem a přihlášení správce mimo pracovní dobu jako výstrahy s vysokou úrovní závažnosti.
- Rychlý přehled v administrační liště: nejnovější události a 24hodinový bezpečnostní symbol na každé obrazovce.
- Zobrazení „Uživatelé online“: přehled uživatelů, kteří jsou právě přihlášeni, včetně jejich poslední akce, času a IP adresy.
- Export filtrovaného protokolu do formátu CSV a JSON s ochranou proti vkládání vzorců z tabulkových procesorů.
- Přístup pro čtení prostřednictvím rozhraní REST API (stránkování pomocí offsetu a kurzoru, včetně koncového bodu pro ověření integrity) a volitelně také prostřednictvím GraphQL, s omezením podle oprávnění.
- Podrobné nastavení: zapnutí/vypnutí celých skupin událostí nebo jednotlivých událostí; pravidla pro vyloučení podle IP adresy/CIDR, uživatele, role a cesty.
- Nastavitelná doba uchovávání s čištěním na vyžádání; ukládání v UTC s zobrazením ve vámi zvoleném časovém pásmu.
- Plně lokalizovatelné, včetně přiložených překladů do polštiny, němčiny a češtiny.
Externí služby
Tento plugin funguje zcela offline. Samostatně se nepřipojuje k žádné externí službě. Následující volitelné integrace jsou ve výchozím nastavení deaktivovány a komunikují výhradně s cílovým serverem, který zadáte v nastavení; každá z nich odesílá krátké shrnutí zaznamenané události (například popis události, přihlašovací údaje uživatele, který akci provedl, čas a – je-li povoleno zaznamenávání IP adres – IP adresu) v okamžiku, kdy k události dojde, nebo v režimu souhrnu jednou za hodinu.
- Slack — po zadání URL příchozího webhooku služby Slack se odpovídající události odesílají metodou POST na tento webhook. Viz Směrnice služby Slack (https://slack.com/terms-of-service) a Zásady ochrany osobních údajů (https://slack.com/trust/privacy/privacy-policy).
- Discord — při zadání URL webhooku Discord se odpovídající události odesílají metodou POST na tento webhook. Viz Podmínky služby Discord (https://discord.com/terms) a Zásady ochrany osobních údajů (https://discord.com/privacy).
- Telegram — po zadání tokenu bota Telegramu a ID chatu jsou odpovídající události odesílány prostřednictvím rozhraní Telegram Bot API na adrese api.telegram.org. Viz Podmínky služby Telegram (https://telegram.org/tos) a Zásady ochrany osobních údajů (https://telegram.org/privacy).
- Obecný webhook — pokud zadáte vlastní adresu URL webhooku (pro oznámení nebo pro ověření integrity mimo hostitele), bude příslušná data odeslána metodou POST na tuto adresu. Cílová adresa je vaše; prostudujte si podmínky a zásady ochrany osobních údajů jejího poskytovatele.
- Geolokace při přihlášení — je deaktivována, pokud ji nezapnete a nepřipojíte poskytovatele prostřednictvím filtru
bzal_geolocate_country. Plugin neobsahuje žádného poskytovatele geolokace a sám o sobě neprovádí žádné geolokační dotazy; veškeré vyhledávání provádí vámi zadaný poskytovatel v souladu s jeho podmínkami.
Souhrnné zprávy a oznamovací e-maily jsou odesílány prostřednictvím vlastního poštovního systému WordPress vašeho webu příjemcům, které nastavíte; tento plugin je neodesílá žádné třetí straně.
Snímky obrazovky





Instalace
- Nahrajte složku
beziworld-activity-logdo adresáře/wp-content/plugins/. - Plugin aktivujte na obrazovce Pluginy ve WordPressu.
- V administrátorském menu otevřete Protokol aktivit, kde si můžete prohlédnout události, a Protokol aktivit Nastavení, kde můžete nastavit dobu uchovávání, události a vyloučení.
Nejčastější dotazy
-
Kde se události ukládají?
-
V samostatných databázových tabulkách vytvořených při aktivaci, nikoli v tabulce příspěvků WordPressu, takže to nijak neovlivní vaše dotazy týkající se obsahu.
-
Zpomalí to můj web?
-
Nekritické události se ukládají do vyrovnávací paměti a při ukončení systému se zapisují v jediném hromadném dotazu; bezpečnostní události se zapisují okamžitě. Díky indexovaným sloupcům zůstává prohlížeč svižný i při práci s rozsáhlými protokoly.
-
Rozpozná plugin změny provedené přímo v databázi?
-
Ne. Stejně jako každý záznamník aktivit založený na háčcích zaznamenává akce, které procházejí systémem WordPress. Přímé úpravy v jazyce SQL obcházejí háčky WordPressu a nelze je sledovat.
-
Odesílá to moje data někam?
-
Ne. Nedochází k žádnému sledování ani sběru dat a plugin nikdy nenačítá kód z externích serverů. Jediné odchozí požadavky se týkají volitelných integrací popsaných níže v části „Externí služby“ – všechny jsou ve výchozím nastavení vypnuté a odesílají se pouze na koncový bod, který si sami nakonfigurujete.
-
Obsahuje příkazy WP-CLI?
-
Ano:
wp bzal verify-integrity— ověří podpisy jednotlivých řádků a řetězec kontrolních bodů a nahlásí jakékoli zjištěné neoprávněné zásahy.wp bzal checkpoint— okamžitě vytvoří nový kontrolní bod integrity.wp bzal purge— okamžitě použít zásady uchovávání.wp bzal stats— vypíše počet zaznamenaných událostí pro aktuální web.
-
Mohou vývojáři tuto funkci rozšířit?
-
Ano. Plugin poskytuje háčky pro integraci:
do_action( 'bzal_event_logged', array $columns )— spustí se po uložení každé události; přijímá mapu sloupců události pro předání do vašich vlastních systémů.apply_filters( 'bzal_geolocate_country', string $country, string $ip )— vrátí kód země podle normy ISO pro danou IP adresu, který lze využít pro volitelnou geolokaci při přihlášení (není součástí balíčku žádný poskytovatel).apply_filters( 'bzal_user_meta_denied', bool $denied, string $meta_key )— vrátí hodnotu true, pokud má být konkrétní klíč uživatelských metadat z protokolu vynechán.do_action( 'bzal_plugin_booted' )— spustí se po dokončení načítání pluginu a slouží k registraci vlastních rozšíření.
Recenze
Pro tento plugin nejsou žádné recenze.
Autoři
BeziWorld Activity Log je otevřený software. Následující lidé přispěli k vývoji tohoto pluginu.
SpolupracovníciPlugin „BeziWorld Activity Log“ byl přeložen do 1 jazyku. Děkujeme všem překladatelům za jejich pomoc.
Přeložte “BeziWorld Activity Log” do svého jazyka.
Zajímá vás vývoj?
Prohledejte kód, podívejte se do SVN repozitáře, nebo se přihlaste k odběru protokolu vývoje pomocí RSS.
Přehled změn
0.5.1
- Zabezpečení: vstupní data v nastaveních jsou nyní zbavena lomítek a očištěna již v místě přístupu, nikoli až na úrovni pomocných funkcí, čímž jsou splněny požadavky statické analýzy Plugin Check.
- Bylo odstraněno nadbytečné volání funkce
load_plugin_textdomain(); balíčky překladů do polštiny, němčiny a češtiny se nyní načítají prostřednictvím funkce „just-in-time“ v systému WordPress (byly deklarovány hlavičkyText DomainaDomain Path).
0.5.0
- Senzory pro obsah, komentáře, média, taxonomii, nabídky, pluginy/šablony, nastavení, žádosti podle GDPR a metadata uživatelů.
- Integrace WooCommerce a Yoast SEO (načtou se pouze v případě, že jsou aktivní).
- Oznámení v reálném čase: Slack, Discord, Telegram, e-mail, obecný webhook – podle naléhavosti nebo na základě zvolených kódů událostí; okamžité nebo hodinové souhrnné zprávy.
- Volitelná geolokace při přihlášení s upozorněním na přihlášení z jiné země.
- Plánované souhrnné zprávy ve formátu HTML; statistická obrazovka s grafy; rychlý náhled na panelu správce s bezpečnostním štítkem.
- Správa aktivních relací; export do formátu CSV/JSON s ochranou proti vložení vzorců.
- Kontrolní body integrity s řetězením hashů a volitelným ukotvením mimo hostitele a
wp bzal verify-integrity; rozdělené podle jednotlivých webů v sítích s více weby. - REST (offset + stránkování pomocí kurzoru + koncový bod pro zajištění integrity) a volitelný přístup pro čtení přes GraphQL; pokročilé filtry; widget pro dashboard; korelace událostí v rámci jednoho požadavku.
- Řetězec integrity rozdělený podle jednotlivých lokalit v prostředí s více lokalitami; volitelné fulltextové indexování obsahu dat událostí.
- Nastavitelná závažnost jednotlivých událostí a volitelná detekce neobvyklého chování (náhlé hromadné mazání, přihlášení správce mimo pracovní dobu).
- Rychlé fulltextové vyhledávání (MySQL FULLTEXT) ve sloupcích objektů událostí, uživatelů a zpráv, s alternativou vyhledávání pomocí operátoru LIKE a volitelným režimem, který indexuje také obsah dat události.
0.1.0
- První verze: ukládání do vlastních tabulek, kontrola integrity pomocí HMAC pro každý řádek, senzor pro ověřování a účty, prohlížeč událostí, konfigurovatelná doba uchovávání s čištěním na vyžádání, přepínání událostí a pravidla pro vyloučení.
