it-swarm-eu.dev

Můžu přejmenovat složku wp-admin?

Je možné přejmenovat složku wp-admin?

Vím, že jsem to mohl jen přejmenovat, ale pokud to kód nepodporuje, mnoho věcí by se rozbilo.

Pokud používám název vlastní složky, bude to o něco bezpečnější, zabezpečení podle temnoty a vše ostatní.

69
Adam Dempsey

Bohužel to není v současné době možné a ani se nezdá, že by to mohlo být považováno za modifikaci, jak je vidět na tomto nedávném vlákně v seznamu wp-hackerů a této lince na trac .

Pokud byste chtěli, aby se toto hodnocení znovu zobrazovalo, navrhl bych:

  1. Předložte svůj případ na wp-hackery ale buďte předem upozorněni, že vaše případy použití jsou lepší a ne "zabezpečení přes temnotu" nebo to bude sestřeleno tak, jak je uvedeno výše.

  2. Předložte svůj argument v trac ticket se stejnými upozorněními.

  3. Ještě lépe, upload patch na trac, který umožňuje požadovanou funkci. Je mnohem těžší říci ne, když práce již byla hotová (ale samozřejmě mají mnohem větší přednost než říci "ne" mnohem častěji, než říkají "ano", takže to musí být předem varováno.)

38
MikeSchinkel

Ne, složku nelze přejmenovat. Cesta je pevně zakódována na více místech v celém zdroji WordPressu.

Bezpečnost přes temnotu není vlastně bezpečnost.

11
Viper007Bond

Lidé si tuto otázku stále kladou, ale lidé ji označují za duplikát. Zvolená odpověď na to však opravdu není odpovědí na otázku.

Chcete-li přejmenovat wordpress admin, musíte provést dva kroky.

V následujícím kódu používám řídicí panel jako název nového wp-admin. Změňte řídicí panel v kódu níže na to, co chcete pojmenovat nový správce.

Nejprve musíte říct wordpress, který chcete změnit url administrátora.

Na řádku 2558 wp-includes/link-template.php je kód, který ničí admin url.

Pomocí filtru admin_url můžete úspěšně změnit adresu URL administrátora s následující funkcí:

function my_custom_admin_url($path) { 
    return str_replace('wp-admin', 'dashboard', $path); 
}
add_filter('admin_url', 'my_custom_admin_url');

Tímto způsobem můžete otestovat, jak vypadá vaše nová adresa URL:

function whats_my_admin_url() {
    $url = admin_url();
    echo '<pre><code>'; print_r( $url ); echo '</code></pre>';
    }
add_action( 'admin_notices', 'whats_my_admin_url' );

Nicméně, pokud si všimnete, když kliknete na admin, že ne všechno funguje a některé odkazy vám mohou dát 404 nenalezených nebo něco podobného.

Za druhé, změňte .htaccess ve vašem kořenovém adresáři wordpressu a přidejte následující do začátku před něčím jiným.

#CUSTOM ADMIN URL REWRITE
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^dashboard[^/]*$ dashboard/ [R=301,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^dashboard(.*)$ wp-admin$1? [QSA,L,NE]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/?$ / [NE,R=404,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/(.*)$ dashboard/$1 [QSA,R=301,L,NE]
</IfModule>
#CUSTOM ADMIN URL REWRITE

Teď nejsem expert, pokud jde o editaci .htaccess, takže některé z nich nemusí být nutné. Nikdy jsem však nenašel, že by nepracoval.

Tady je celá věc. Vytvořte soubor a přetáhněte složku plugins nebo mu-plugins. (Nezapomeňte změnit každou instanci řídicího panelu na požadovanou adresu URL administrátora)

<?php
/**
 * Plugin Name: Change My Admin URL
 * Plugin URI: http://wordpress.stackexchange.com/questions/106/can-i-rename-the-wp-admin-folder
 * Description: Changes the admin url where wp-admin becomes dashboard (or whatever you change it to)
 * Version: 1.0
 * Author: Bryan Willis
 * Author URI: http://profiles.wordpress.org/codecandid
 * License: GPL2
 */

/* 

#CUSTOM ADMIN URL REWRITE FOR HTACCESS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^dashboard[^/]*$ dashboard/ [R=301,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^dashboard(.*)$ wp-admin$1? [QSA,L,NE]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/?$ / [NE,R=404,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/(.*)$ dashboard/$1 [QSA,R=301,L,NE]
</IfModule>
#CUSTOM ADMIN URL REWRITE

*/

function my_custom_admin_url($path) { 
    return str_replace('wp-admin', 'dashboard', $path); 
}
add_filter('admin_url', 'my_custom_admin_url');

Problémy?

Tuto metodu jsem v průběhu jednoho roku neměla. Můžete si všimnout, že wp-admin bude stále fungovat, jaký druh saje, ale je to spíše preventivní opatření než cokoliv jiného. Měl jsem nějaké špatně napsané pluginy, které hardcoded wp-admin v některých místech, která by se nenačítala při pokusu o blokování nebo přesměrování wp-admin. Jsem si jistý, že existuje způsob, jak to udělat s htaccessem, ale nepodařilo se mi to úspěšně zjistit. Také to nebylo testováno na multisite nebo tak nějak.

Aktualizace: Alternativní přístup

To je docela podobné, ale z nějakého důvodu moje výše uvedená odpověď nefungovala na každém Hostiteli, kterého jsem vyzkoušela.

Přidat do .htaccess

RewriteRule ^admin/(.*) wp-admin/$1?%{QUERY_STRING} [L]

Vytvořte soubor ve složce mu-plugins s názvem new-admin.php a přidejte ho zde:

<?php
define('WP_ADMIN_DIR', 'admin');
defined('SITECOOKIEPATH') || define('SITECOOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('siteurl') . '/' ) );
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);

add_filter('site_url',  'wpadmin_filter', 10, 3);
 function wpadmin_filter( $url, $path, $orig_scheme ) {
  $old  = array( "/(wp-admin)/");
  $admin_dir = WP_ADMIN_DIR;
  $new  = array($admin_dir);
  return preg_replace( $old, $new, $url, 1);
}

Poznámka: Zdá se, že tento přístup funguje na některých hostitelů lépe, ale stále neměl problém přesměrovat odkazy wp-admin na novou adresu URL administrátora. Zde je přístup, který jsem zkusil níže. Zatímcototo níže nefungujeMyslím, že je na správné cestě. Nejsem si úplně jistý, jaký hák použít. htaccess by mohla být lepší alternativa, ale já jsem se stále přesměrování smyčky, když jsem se snažil takhle.

add_action('init', 'redirect_wp_admin_url_to_404');
function redirect_wp_admin_url_to_404(){
  $redirect_to = $_SERVER['REQUEST_URI'];
  if(count($_REQUEST)> 0 && array_key_exists('redirect_to', $_REQUEST)){
    $redirect_to = $_REQUEST['redirect_to'];
    $check_wp_admin = stristr($redirect_to, 'wp-admin');
    if($check_wp_admin){
      wp_safe_redirect( '404.php' );
    }
  }
}
11
Bryan Willis

Přístup, který je oficiálně podporován WordPressem, je přesunutí instalačních souborů WordPressu do podadresáře, zatímco web je udržován v kořenovém adresáři.

Adresa URL webu: http://my-blog.com

Adresa URL správce: http://my-blog.com/7nxnkkugrdzm/wp-admin

I když vám to nedává úplnou svobodu při změně administrátorské adresy URL, znamená to, že můžete prefix s čímkoli chcete. To je z bezpečnostního hlediska stejně dobré. To také má výhodu v pohybu všech instalačních souborů WordPress do místa neznámého pro uživatele, takže by měla být součástí každé strategie wordpress zpevnění.

Z WordPress Codexu: Dává WordPress svůj vlastní adresář

Všimněte si také, že zatímco toto schéma zabezpečení se nazývá Obscure URL, nejedná se o to samé jako o zabezpečení podle temnoty. Obscure URL je dokonale platné bezpečnostní schéma, které je stejně dobré jako heslo, zatímco zabezpečení neznámým se spoléhá na používání tajných nevyzkoušených postupů.

Stejné upozornění platí stejně jako u hesel: Zavolejte vlastní složku, jako je 7nxnkkugrdzm, ne happy-snappy-admin. Také se ujistěte, že uživatelé jsou si vědomi, že admin url je tajemstvím.

9
cmc

Tam je vlastně velmi dobrý návod na to zde:

Jak skrýt WordPress informace z vašeho zdrojového kódu zrcadlo

Obsahuje, jak přejmenovat wp-content, přejmenovat wp-admin, a odstranit generátor tag z WordPress.

Tento tutoriál se změní zřejmé důkazem nebo indikacemi ve vašem zdrojovém kódu, účinně odstraní informace z WordPressu z vašich stránek .

To vysvětluje, jak změnit název složky, wp-admin přihlašovací url, a ujistěte se, že login.php přesměruje na hlavní stránky, takže lidé mohou jít přímo tam.

7
Graeme

Pokud chcete, aby uživatelé na úrovni účastníků neviděli adresář wp-admin, můžete vytvářet samostatné verze přihlašovacích údajů a profilů a upravovat stránky ve svých vlastních adresářích. Poté můžete chránit složku admin pomocí omezení htaccess nebo IP. (I když to uděláte, měli byste udělat výjimku pro soubor admin-ajax, protože některé pluginy jej používají k přidání funkce um, AJAX).

Tento přístup vám dává "temnotu", kterou chcete (což ve skutečnosti moc neznamená, ale často se klienti a manažeři cítí lépe), a také přidává nějaké skutečné zabezpečení omezením přístupu k admin. Navíc, upřímně, URL, které říká "/ login", vypadá mnohem hezčí než "wp-login.php".

Mělo by jít bez povšimnutí, že to neznamená, že vaše stránky jsou neprůstřelné. Ale je to hezké, základní vylepšení.

6
MathSmath

Jedním ze způsobů, jak uzamknout ovládací panel pro správu, je použití pravidel .htaccess. Stačí přidat soubor .htaccess do kořenového adresáře wp-admin. Poté, co tento soubor přidáte, přidejte následující pravidlo, které zakáže všechny adresy IP a povolí pouze vaši adresu IP:

http://wp.tutsplus.com/tutorials/10-stepy-zajistit-vlastní-podmínky-instalace/

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
whitelist address
allow from <IP ADDRESS HERE>
</LIMIT>
2
Josh

Pokud chcete přejmenovat wp-admin s cílem přidat další vrstvu zabezpečení do vaší WordPress instalace, můžete také vyzkoušet Roots/Bedrock WordPress Boilerplate . To může pomoci izolovat web root, aby se omezil přístup k ne-webovým souborům. To může také pomoci při organizaci/zabezpečení celého jádra WordPressu tím, že ho vložíte do vlastního podadresáře, jako je přejmenování wp-content/na app/stejně jako tyto další funkce:

  • Správa závislostí s Composerem
  • Snadná konfigurace WordPressu se soubory specifickými pro prostředí
  • Proměnné prostředí s Dotenv
  • Autoloader pro mu-pluginy (použijte běžné pluginy jako mu-pluginy)
  • Vylepšené zabezpečení (oddělené webové kořenové a zabezpečené heslo s šifrováním wp-password-bcrypt)

Můžete také zkontrolovat jejich GitHub Repo pro podrobnější použití:

1
Carl Alberto

CO O PRACOVNÍM WP-ADMIN OD IFRAME?

Vytvořte novou stránku v řídicím panelu wp s názvem "Admin". např .: yourdomain/admin /

Chcete-li zakázat věci na nepotřebné šabloně, můžete pomocí příkazu header.phppage.php a/nebo footer.php vytvořit prohlášení o případu, pomocí:

<?php
if(!is_page('admin')): //if not the admin page.

//wrap code not needed or wanted.

else: ?>

<style type="text/css">
    .responsive-iframe {
    position: relative;
    padding-bottom: 56.25%; /*16:9*/
    height: 0;
    overflow: hidden;

    iframe {
        position: absolute;
        top:0;
        left: 0;
        width: 100%; //or 100vw
        height: 100%; //or 100vh
    }
}   
</style>

<div class="responsive-iframe">
<iframe seamless="seamless" scrolling="yes" src="http://yourdomain/wp-admin/" frameborder="0" allowfullscreen></iframe>
</div>

<?php 
endif;

To není hezké, ale alespoň do určité míry můžete skrýt wp-admin z url. Dalším způsobem je možné použít přesměrování domény s povolenou adresou masky.

0
samjco

Podívejte se na http://wordpress.org/extend/plugins/stealth-login/ toto vám může pomoci.

0
edelwater

Není možné přejmenovat složku wp-admin s nějakým nedostatkem kódu nebo htaccess hack,

V minulosti jsem udělal totéž pro klienta tím, že provedl kompletní vyhledávání složek prostřednictvím Coda (editor i use) pro značku "wp-admin, wp-content ... etc" a já jsem odstranit "wp-" z soubory.

Poté budete moci nainstalovat, ale:
Musíte udělat totéž s pluginy, které chcete nainstalovat. Musíte jádro aktualizovat ručně vymazáním značky "wp-" z nových verzí.

Ve všech ohledech vás nenavrhuji, abyste něco takového dělali, nenechávejte je tak, jak je, a zkuste implementovat stránku Přihlášení uživatele/Registrovat/Profil, abyste svým uživatelům/klientům poskytli lepší zážitek.

Cristian z Cozmolabs napsal velmi dobrý návod. Můžete kód upravit trochu a spustit jej v libovolném tématu WordPress.

Můžete také přidat formulář Post z frontendu, takže Admin a Uživatelé s možnostmi psát příspěvek to mohou udělat z frontendu.

Zde můžete vidět příklad a kód, jak vytvořit stránku Frontend Post. Předání příspěvku front-end

Také se můžete podívat na některé Nice pluginy zde , které dělají totéž s více funkcemi.

0
Philip