Jednou z mnoha velkých výhod redakčního systému WordPress je spolupráce s dalšími lidmi. Již v základu nám WordPress umožnuje přiřadit registrovaným uživatelům role a oprávnění tak, aby užívání WordPressu bylo funkční a bezpečné. K tomu jsou k dispozici nastavení WordPress uživatelé již v základu, bez nutnosti instalovat externí plugin.
Mnoho projektů začíná svůj provoz jako sólo projekty. Postupem času se však může stát, že potřebujete spolupracovat na různé úrovní s rozdílnými úkoly. Proto jsou uživatelé, jejich role a oprávnění v administraci rozděleny do jednotlivých skupin. Pojďme se na ně podívat podrobněji.
WordPress uživatelé a rozdělení rolí
WordPress již obsahuje vestavěný systém správy uživatelských rolí. Kdykoli se uživatel zaregistruje na vašem webu, WordPress mu přiřadí roli, která se skládá z různých oprávnění. To vám umožní přesně řídit, jaké akce mohou uživatelé na vašem webu provádět. Při klasické registraci uživatele je to role Odběratel (Subscriber) nebo, v případě e-shopu, Zákazník (Customer).
Aby uživatel získal roli s vyšším oprávněním a mohl upravovat nastavení webu, je nutné mu toto oprávnění nastavit na stránce jeho profilu ručně. Administrátor jako takový se na web registrovat přes formulář nemůže. Pojďme se ale nejprve podívat, jaké role jsou v základní instalaci WordPressu k dispozici.
Správce webu (Administrátor)
Na standardní instalaci WordPress se jedná o nejsilnější uživatelskou roli. Uživatelé s oprávněním správce mohou přidávat nové příspěvky, upravovat příspěvky od všech uživatelů a tyto příspěvky mazat.
Mohou také instalovat, nastavovat a mazat pluginy a šablony, můžou měnit základní nastavení webu a jeho zobrazování uživatelům. Ve svých možnostech také mají přidávání, úpravy nebo mazání uživatelských účtů.
Buďte tedy velmi opatrní v tom, komu tuto uživatelskou roli přiřazujete. Mějte také na paměti, že uživatelé s oprávněním administrátor by měli mít na svých účtech aktivováno dvoufaktorové ověřování při přihlášení do administrace.
Super admin
Tato role je přítomna pouze ve verzi WordPress multisite, jinak má stejné možnosti jako administrátor. Akorát s tím, že super admin může přidávat/odebírat další weby do sítě webů, které jsou k administraci připojeny. U jednotlivých webů pak může provádět ty samé úkony, jako klasický administrátor.
Editor (Editor)
Editoři jsou druhou nejsilnější uživatelskou rolí, která má vliv především na obsahovou část webu. Mohou přidávat, upravovat, publikovat a mazat jakékoli příspěvky na webu, včetně těch, které napsali ostatní. Editor může také moderovat, upravovat a mazat komentáře. Pod jejich správou můžou být také kategorie a štítky na blogu. Editoři ale nemohou změnit nastavení webu, nainstalovat pluginy a motivy ani přidat nové uživatele.
Autor (Author)
Autoři mohou vytvářet, upravovat, publikovat a mazat jejich vlastní příspěvky. Mohou také nahrávat mediální soubory a číst další příspěvky. Nemají však oprávnění k obsahu vytvořenému jinými lidmi.
S ohledem na to je užitečné přiřadit autorskou roli důvěryhodným autorům, kteří mají zkušenost s redakční prací. Protože mohou publikovat obsah bez souhlasu, měli by být odpovědní za zachování ustálené kvality práce.
Přispěvatel (Contributor)
Uživatelská oprávnění této uživatelské role jsou ještě omezenější. Jediné, co mohou udělat, je vytvořit, upravit a odstranit své vlastní příspěvky.
Nemají možnost je publikovat a nemohou ani nahrávat mediální soubory. Mají však možnost číst další příspěvky.
Role přispěvatele je skvělá pro lidi jako hostující autory příspěvků nebo jakékoli jiné jednorázové spolupráce s lidmi, kteří jsou obeznámeni s WordPressem. Tímto způsobem se váš tým nebude muset zabývat převodem příspěvku z jiného typu dokumentu.
Odběratel (Subscriber)
Ještě dodám, že některé pluginy při své instalaci vytváři automaticky uživatelskou roli podle použití/funkcí pluginu. Například plugin Woocommerce pro zrovoznění e-shopu na WordPressu vytvoří uživatelskou roli Správce eshopu a Zákazník.
Uživatel s účtem Správce e-shopu má možnost přidávat nové produkty a má oprávnění upravovat nastavení samotného pluginu/eshopu. Uživatel s názvem Zákazník se může na webu při nákupu registrovat a nakupovat s tím, že společně s registrací vzniká uživatelská stránka, na které si zákazník může prohlédnou historii objednávek nebo změnit přístupové údaje.
Jak a proč řešit oprávnění pro WordPress uživatele?
- Ochrana před neoprávněným přístupem: Silné heslo a dvou faktorové ověření pomáhají chránit účty před hackerskými útoky a neoprávněným přístupem.
- Zajištění konzistentního obsahu: Omezení přístupových práv uživatelů podle jejich role zabraňuje neautorizovaným změnám nebo smazání důležitého obsahu.
- Prevence proti útokům typu brute-force: Omezení počtu pokusů o přihlášení a zavedení bezpečnostních otázek představuje další vrstvu ochrany.
- Ochrana osobních údajů: Zabezpečení účtů pomáhá chránit osobní údaje uživatelů a zákazníků před únikem.
- Dodržování právních předpisů: Zabezpečení účtů může být nezbytné pro splnění právních a regulačních požadavků, jako je GDPR.
- Předcházení šíření malwaru a virů: Bezpečné účty snižují riziko, že by váš web mohl být použit k šíření škodlivého softwaru.
- Udržení důvěry uživatelů a zákazníků: Zabezpečení uživatelských účtů zvyšuje důvěru ve vaši značku a chrání reputaci vaší společnosti.
WordPress uživatelé a jejich přidání/odstranění
Pokud potřebujete přidat, nebo právě naopak, odstranit WordPress uživatele, není to nic složitého. Přejdete na stránku Uživatelé. V horní části obrazovky najdete tlačítko Vytvořit nového uživatele. Na následující stránce najdete možnost zadat e-mail a přezdívku (oba údaje jsou vyžadovány). Ostatní údaje, jako jazyk administrace, úplné jméno a příjmení a další údaje jsou dobrovolné.
Pokud jste ale např. redaktor magazínu nebo majitel webu, který chce být na webu dohledatelný, doporučuji všechny údaje vyplnit z důvodu indexace vašeho profilu jako autora příspěvků a zobrazování těchto údajů na stránkách (závislé na použité šabloně a jejich funkcích).
Odstranění uživatele je ještě o něco snazší, než jeho přidání. Opět přejděte na stránku Uživatelé, v seznamu zaškrtněte účet, který chcete odstranit, v roletce nahoře (pojmenované jako Hromadné úpravy) vyberte Smazat a následně tlačítko použít. Pokud je daný účet přiřazen k autorství článků na blogu, objeví se ještě dialog s výběrem, na koho má být autorství přesunuto. Poté bude profil smazán bez možnosti obnovy.
Jak upravovat WordPress uživatele a jejich oprávnění
Základní rozhraní pro správu uživatelských práv najdete v levém hlavním panelu administrace webu pod položkou Uživatelé. Zde najdete přehledný seznam všech registrovaných uživatelů s přehledem, jakou roli mají přiřazenou a pod jakým emailem a přezdívkou jsou registrovaní. tenhle přehled se může lišit v závislosti na instalovaných pluginech a jejich funkcích.
V levé části obrazovky je umístěno vyhledávací pole, s jehož pomocí můžete vyhledávat uživatele právě podle zmíněných parametrů. Stačí tedy zadat e-mailovou adresu nebo přezdívku a kliknout na Vyhledat uživatele.
Manuálně – s pomocí PHP funkcí
Jak jsem popsal víše, správa uživatelů v redakčním systému WordPress není nic komplikovaného. Jiná situace však nastává v případě, že jste kodéři a chcete si tak uživatelské účty specificky upravovat s pomocí PHP funkcí. V takovém případě je zapotřebí mít dostatečné znalosti a zkušenosti v PHP a jeho fungování v závislosti s provozem WordPressu.
PHP funkce pro správu rolí a oprávnění
<strong>add_role():</strong>
Tato funkce slouží k vytvoření nové uživatelské role. Například, add_role('custom_role', 'Custom Role', array('read' => true)); vytvoří novou roli s názvem 'Custom Role' s oprávněním pouze pro čtení.
<strong>remove_role():</strong>
Odstraní uživatelskou roli. Například, remove_role('custom_role'); odstraní roli 'custom_role'.
<strong>add_cap():</strong>
Přidá konkrétní schopnost (oprávnění) k určité roli. Například, $role = get_role('editor'); $role->add_cap('edit_theme_options'); přidá oprávnění 'edit_theme_options' roli editor.
<strong>remove_cap():</strong>
Odebere schopnost od role. Například, $role = get_role('editor'); $role->remove_cap('edit_theme_options'); odebere oprávnění 'edit_theme_options' od role editora.
<strong>get_role():</strong>
Vrací objekt role, který umožňuje získat přístup k jejím vlastnostem a schopnostem. Například, get_role('author'); získá informace o roli autora.
<strong>current_user_can():</strong>
Kontroluje, zda aktuální přihlášený uživatel má určitou schopnost. Například, current_user_can('publish_posts'); ověří, zda má uživatel oprávnění publikovat příspěvky.
Databázové tabulky
S pomocí zmíněných PHP můžete spravovat uživatele s jakoukoliv uživatelskou rolí. Tyto funkce zapisují informace do databáze, konkrétně do tabulky wp_users (tato tabulka obsahuje základní údaje o uživatelích, jako jsou jména, e-mailové adresy, hesla – v šifrované formě, a další.) a wp_usermeta (zde jsou uloženy metainformace o uživatelích, včetně jejich rolí a dalších přizpůsobených dat. Role jsou uloženy v této tabulce pod klíčem wp_capabilities).
Tabulka wp_users obsahuje následující údaje:
- ID: Unikátní identifikátor uživatele
- user_login: Uživatelské jméno pro přihlášení
- user_pass: Heslo uživatele, obvykle uložené v šifrované formě
- user_nicename: přezdívka uživatele, které se používá v URL adresách
- user_email: E-mailová adresa uživatele
- user_url: Webová stránka uživatele
- user_registered: Datum a čas registrace uživatele
- user_activation_key: Klíč používaný pro aktivaci účtu nebo reset hesla
- user_status: Stav uživatele (téměř se nepoužívá.. )
- display_name: Zobrazované jméno uživatele
Tabulka wp_usermeta obsahuje následující údaje:
- umeta_id: Unikátní identifikátor záznamu
- user_id: ID uživatele, ke kterému se metadata vztahují
- meta_key: Klíč metadat, například ‚wp_capabilities‘ pro uživatelské role a schopnosti, ‚nickname‘, ‚first_name‘, ‚last_name‘ pro osobní informace, a další přizpůsobené klíče
- meta_value: Hodnota přidružená k danému klíči metadat
Tyto dvě tabulky dohromady poskytují komplexní přehled o uživatelích WordPress, jejich oprávněních, osobních informacích a dalších nastaveních.
S pomocí pluginu – User Role Editor
Pokud vám však kód nic neříká a neorientujete se v databázových tabulkách, můžete využít externí plugin s grafickým rozhraním, v kterém jednotlivým WordPress uživatelům (nebo skupinám uživatelů) přiřadíte potřebné role a oprávnění.
Jedním z nejznámější pluginů pro správu rolí a pokročilejší a snazší editací oprávnění uživatelů bez znalosti programování je User Role Editor. S pomocí zaškrtávacích polí můžete ke skupinám uživatelů, ale i k jednotlivcům přiřazovat oprávnění, která má mít daný uživatel k dispozici bez omezení na základní uživatelské role.
Dřív, než začnete plugin používat, doporučuji navštívit stránku s nastavením pluginu – Nastavení > Editor uživatelských rolí – a nastavit si zobrazení uživatelských rolí podle svého způsobu práce. Bude se vám s pluginem lépe pracovat.
Samotnou editaci uživatelských rolí a oprávnění WordPress uživatelů s pomocí pluginu zvládne většina administrátorů. Veškeré nastavení najdete pod položkou Uživatelé > Nastavení uživatelských rolí. V horní části obrazovky si nastavíte, kterou uživatelskou roli chcete upravit a v seznamu níže můžete přidat nebo odebrat oprávnění, která daná skupina uživatelů má mít k dispozici.
Úplně vpravo najdete panel s odkazem Přidat roli, která slouží k přidání nové uživatelské role. Může se jednat např. o uživatelskou roli testera, která bude mít možnost měnit nastavení pluginu nebo šablony, ale nebude mít možnost instalovat pluginy ani šablony.
Pokud potřebujete upravit oprávnění jednotlivých uživatelů, přejděte na seznam registrovaných uživatelů – Uživatelé > Přehled uživatelů – a v seznamu si vyhledejte (třeba s pomocí vyhledávacího pole vpravo nahoře) daného uživatele. Následně najeďte na jméno uživatele myší a pod ním se vám zobrazí volba Možnosti. Na následují obrazovce pak můžete s pomocí zaškrtávacích polí přiřadit nebo odebrat oprávnění. Poté, co navolíte oprávnění, nezapomeňte na tlačítko Aktualizovat.
5 tipů, jak zabezpečit WordPress uživatele a jejich účty
Opravdu tolik záleží na bezpečnosti uživatelů na vašem webu, jak se stále všude připomíná? Ano, záleží, a hodně! Ptáte se proč? Jeden administrátorský účet se slabým heslem by mohl ohrozit všechna další bezpečnostní opatření na webu, která jste implementovali. Proto je zásadní prověřit zabezpečení, které používají uživatelé s oprávněním administrátorů a editorů.
A v případě e-shopů, placených členských sekcí nebo placených e-kurzů se tato bezpečnost vůči vašim klientům zdvojnásobuje, Především kvůli přítomnosti údajů o platebních kartách a platbách.
Dvoufázové ověření přihlášení
Tento způsob zabezpečení účtu je založen na tom, že uživatel po zadání hesla musí ještě zadat jednorázový kód, který si nechá vygenerovat buď v mobilní aplikaci, nebo jej dostane formou sms zprávy/e-mailu. Tuto funkci můžete do redakčního systému WordPress zakomponovat s pomocí bezpečnostních pluginů, např. Wordfence nebo Solid Security.
Toto nastavení je extrémně důležité především pro uživatelské role, které mají možnost měnit kompletní nastavení webu a obsahovou část webu, tedy administrátoři a editoři.
Dejte uživatelům taková oprávnění, která opravdu potřebují
Pokud spolupracujete s mnoha redaktory na správě obsahu magazínu a zadáváte jim v tomto ohledu úkoly, neexistuje relevantní důvod, aby tito redaktoři měli oprávnění administrátorů. Jejich neodborný zásah by mohl nenávratně poškodit nejen obsah stránek nebo příspěvků, ale i funkce z nainstalovaných pluginů.
Omezte pokusy o přihlášení
Nastavte svůj web, potažmo administraci tak, aby v určitém časovém intervalu bylo možné uskutečnit určitý počet pokusů o přihlášení. A poté, co i přes tyto pokusy není uživatel přihlášen (špatné jméno nebo heslo), zablokujte jej s žádostí o kontaktování administrátorů webu. Omezíte tím nežádoucí pokusy o přihlášení ze strany botů a jejich hromadných útoků na WordPress uživatele.
Vysvětlete uživatelům, proč je důležité používat silná hesla
Jak je obecně známo, samotní uživatelé a jejich chování na síti je nejslabším článkem všech bezpečnostních vrstev, které na webu můžete nastavit. Ono stále omílané heslo 1234 je bohužel stále platné a mnoho uživatelů si neuvědomuje, jak vysoké riziko podstupují s tímto nastavením a že prolomení takového hesla je otázka několika sekund. Proto nezapomeňte trpělivě a s respektem vysvětlovat svým kolegyním/kolegům, že by heslo mělo obsahovat speciální znaky a alespoň jedno velké písmeno.
Používejte ve firmě/organizaci správce hesel
Mnoho uživatelů kromě slabých hesel také častokrát ukládá svá hesla do textových souborů a ukládají si je do on-line uložišť. nebo ještě hůře, do prohlížečů se zapnutým automatickým přihlašováním. Opět platí, že čím více útočníkům ztížíte cestu k útoku, tím lépe.
Dobrým řešením je v tomhle ohledu správce hesel, u kterého si zapamatujete pouze master heslo. Po jeho zadání pak máte přístupná hesla, která si pravidelně můžete měnit na jednom místě. Z vlastní zkušenosti můžu doporučit Bitwarden. Je multiplatformní, má dlouhodobě kvalitní a stabilní vývoj funkcí a minimum bezpečnostních incidentů s únikem dat uživatelů.
Závěrem pár slov
Často se setkávám s tím, že web/e-shop spravuje skupina lidí s nejvyšším, to znamená administrátorským oprávněním. Z důvodů bezpečnosti je takové nastavení špatné a nedoporučuji jej na webu nadále ponechávat. Pokud spravujete web velké společnosti nebo organizace, může být zjištění rolí a nastavení oprávnění v redakčním systému sice složité, ale budete mít bezpečný a funkční systém oprávnění, který zajistí správný chod webu.
Na nastavení oprávnění je dobré myslet již při startu projektu a stanovit si dobrý plán na přiřazování oprávnění, který uživatelům srozumitelně vysvětlíte a obhájíte. Bezpečnost a funkčnost jsou pojmy, které by v této problematice určitě měly zaznít, proto je při zdůvodňování použijte.
Nastartuje web
pro svůj business
Se spolehlivým webařem, který si zakládá na
konzistentní a přímé komunikaci a dlouholetých
zkušenostech v oboru