Webové zákusky

Jak změnit wp-login URL

1. 5. 2022

Občas je zajímavé podívat se, kdo na Váš web chodí a hlavně – kam. Např. pluginy jako Wordfence a RankMath (404 monitor) jsou super v tom, že toto umí logovat a vy pak podle toho můžete upravovat zabezpečení webu.

  • Wordfence umí LifeTrafiic, tj. sledování aktuálního provozu webu. Když se někdo pokusí přihlásit se, kam nemá, a je na blacklistu Wordfence, plugin ho okamžitě zablokuje. Stejně tak, pokud se někdo snaží sáhnout na obecně známé cesty WP napřímo zvenčí, a další.
  • RankMath umí monitorovat 404 (tj. pokud se někdo dostane na stránku, která neexistuje) – je pak také zajímavé sledovat, na jaké stránky se snaží okolní svět chodit.

Výhodou WordPress je, že je jednoduchý na instalaci i použití a ušetří spoustu práce, která by se pak musela řešit jinými frameworky a knihovnami. Na druhou stanu je cenou za tuto popularitu to, že je struktura webu předem známá (přihlašovací stránky, struktura webu aj.).

Jednou z možností zabezpečení je schování defaultní admin stránky pro přihlášení, tj. /wp-login.php.

Bez pluginu

  1. Vyberete si nový název přihlašovací stránky
    • v mém případě je to admin-login.php
  2. přihlásíte se na FTP a ve složce webu najdete soubor wp-login.php,
  3. stáhnete ho k sobě do počítače,
  4. otevřete ho v text. editoru a nahradíte všechny výskyty stránky „wp-login.php za nový název (bod 1)
  5. přejmenujete stejně tak i samotný soubor, tj. už se nebude jmenovat wp-login.php, ale podle nového názvu z bodu 1),
  6. stáhnete k sobě znovu soubor wp-login.php (pouze jako zálohu původního, tento krok není povinný),
  7. upravený a přejmenovaný soubor nahrajete zpět na FTP,
  8. soubor wp-login.php z FTP smažete (už nebude potřeba),
  9. do functions.php (ideálně child theme) vložíte řádky („VASE-NOVA-URL“ nahradíte za nový název stránky) :

/**** custom **** /
/*
 * Change WP Login file URL using "login_url" filter hook
 */
add_filter( 'login_url', 'custom_login_url', PHP_INT_MAX );
function custom_login_url( $login_url ) {
    $login_url = site_url( 'VASE-NOVA-URL', 'login' );	
    return $login_url;
}

A to je celé. Od této chvíle se bude stránka wp-admin automaticky přesměrovávat na nový název stránky, nikoli na původní wp-login.php.

S pluginem

Jako na většinu věcí i tady existuje plugin pro Wordpress, který se o takové přesměrování také postará. Pokud nechcete jít cestou bez pluginu, pak je i toto možnost, jak wp-admin stránku schovat.

Změna wp-admin URL

Nastavení -> Permalinks (trvalé odkazy) -> Change wp-admin login sekce.

  • Login URL si můžete změnit, na co chcete, to je čistě na vás.
  • Osobně měním Redirect URL na wp-logiin (ano, ta dvě „i“ jsou správně a schválně).
    • Je to z důvodu toho, že nechci, aby případný nezvaný host nepoznal (alespoň na první pohled),
      • po zadání URL www.stranka.cz/wp-admin vrátí status 301 (přesměrováno) a přesměruje
      • následné přesměrování pak vrátí stránku www.stranka.cz/wp-admiin a status 404 (not found) – což je chtěné.
    • Nechci vrátit ani stavovým kódem informaci o tom, že stránka existuje. Totiž – přesměrování na existující stránku z té přihlašovací (wp-login) je samo o sobě podezřelé a dává najevo, že web běží na WordPress (jinak by nebyl důvod stránku přesměrovat, když na webu není).
Změna wp-admin URL

V případě problémů s login stránkou (na kterou se jako nepřihlášení dostanete z wp-admin stránky), stačí jít na FTP, plugin najít a deaktivovat – vše pak bude fungovat jako předtím.

Zdroje

Další články

Jak přidat fonty do DIVI

V článku o lokálních fontech v DIVI jsem popisovala, jak je možné přidat do DIVI vlastní font a co dělat, pokud DIVI daný formát fontu nepodporuje (tedy jiný formát než TFF nebo OTF). Někdy je...