Posso rinominare la cartella wp-admin?

12 ago 2010, 00:35:30
Visualizzazioni: 85.3K
Voti: 77

È possibile rinominare la cartella wp-admin?

So che potrei semplicemente rinominarla, ma a meno che non sia supportato dal codice molte funzionalità si romperebbero.

Se uso un nome di cartella personalizzato, renderà il sito leggermente più sicuro, seguendo il principio della sicurezza tramite oscuramento.

0
Tutte le risposte alla domanda 13
3
44

Sfortunatamente, al momento non è possibile né sembra esserci la volontà di considerarlo come una modifica, come puoi vedere da questo recente thread sulla lista wp-hackers e da questo ticket su trac.

Se davvero desideri che questa questione venga riesaminata, ti suggerirei:

  1. Presenta il tuo caso su wp-hackers, ma sii avvisato che il tuo caso d'uso dovrebbe essere valido e non basato su "sicurezza per oscuramento", altrimenti verrà respinto come sopra.

  2. Presenta la tua argomentazione in un ticket su trac con le stesse avvertenze.

  3. Ancora meglio, carica una patch su trac che abiliti la funzionalità desiderata. È molto più difficile dire di no quando il lavoro è già stato fatto (ma ovviamente, hanno la tendenza a dire "no" molto più spesso di quanto dicano "sì", quindi sii avvisato).

12 ago 2010 01:19:55
Commenti

+1 tendono a dire "no" molto più spesso che "sì", quindi siate avvertiti :)

Sisir Sisir
29 nov 2013 07:18:06

Considerando che questa è la risposta accettata a una domanda che molti di noi si pongono, anche se sono un principiante di WordPress, vorrei aggiungere che sembrano esistere plugin che permettono di rinominare wp-admin e wp-login.php...

pataluc pataluc
26 lug 2023 13:01:12

i plugin non rinominano wp-login.php, piuttosto creano nuove pagine di login e fanno sì che WordPress le utilizzi tramite filtri, il file wp-login.php rimane comunque presente. Non esistono plugin per spostare wp-admin dato che è hardcodato praticamente ovunque, anche se sono comuni dei collegamenti che reindirizzano lì e alcuni sono inclusi persino nel core ( /admin e /login )

Tom J Nowell Tom J Nowell
21 ago 2023 16:14:14
2
15

Le persone continuano a fare questa domanda, ma viene spesso marcata come duplicata. La risposta scelta però non risponde realmente alla domanda.

Per rinominare l'admin di WordPress è necessario seguire due passaggi.

Nel codice seguente utilizzo "dashboard" come nome del nuovo wp-admin. Sostituisci "dashboard" nel codice con il nome che vuoi dare al tuo nuovo admin.

Primo: devi dire a WordPress che vuoi cambiare l'URL dell'admin.

Sulla riga 2558 di wp-includes/link-template.php si trova il codice che determina l'URL dell'admin.

Utilizzando il filtro admin_url puoi modificare con successo l'URL dell'admin con la seguente funzione:

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

Puoi testare il tuo nuovo URL con questo codice:

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' );

Tuttavia, navigando nell'admin noterai che non tutto funziona e alcuni link potrebbero restituire errori 404 o simili.

Secondo: modifica il file .htaccess nella root di WordPress aggiungendo queste regole all'inizio prima di qualsiasi altra cosa.

#REWRITE PER URL ADMIN PERSONALIZZATO
<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>
#REWRITE PER URL ADMIN PERSONALIZZATO

Non sono un esperto nella modifica di .htaccess, quindi alcune regole potrebbero essere non necessarie. Tuttavia, questa configurazione ha sempre funzionato per me.

Ecco il codice completo. Crea un file e inseriscilo nella cartella dei plugin o mu-plugins (ricordati di cambiare tutte le occorrenze di "dashboard" con il tuo URL admin preferito).

<?php
/**
 * Plugin Name: Change My Admin URL
 * Plugin URI: http://wordpress.stackexchange.com/questions/106/can-i-rename-the-wp-admin-folder
 * Description: Cambia l'URL dell'admin sostituendo wp-admin con dashboard (o qualsiasi altro nome)
 * Version: 1.0
 * Author: Bryan Willis
 * Author URI: http://profiles.wordpress.org/codecandid
 * License: GPL2
 */

/* 

#REWRITE PER URL ADMIN PERSONALIZZATO IN 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>
#REWRITE PER URL ADMIN PERSONALIZZATO

*/

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

Problemi?

Non ne ho riscontrati in oltre un anno di utilizzo. Potresti notare che wp-admin continua a funzionare, il che è fastidioso, ma è più una precauzione. Alcuni plugin mal scritti hardcodano wp-admin in alcuni punti e non si caricano se si blocca o reindirizza wp-admin. Sono sicuro che esista un modo per farlo via htaccess, ma non l'ho ancora capito. Inoltre, questo metodo non è stato testato su multisite.

Aggiornamento: Approccio Alternativo

Questa soluzione è simile, ma per qualche motivo la precedente non funzionava su tutti gli host.

Aggiungi a .htaccess

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

Crea un file nella cartella mu-plugins chiamato new-admin.php e aggiungi questo codice:

<?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);
}

Nota: Questo approccio sembrava funzionare meglio su alcuni host, ma aveva ancora il problema di non reindirizzare i link wp-admin al nuovo URL. Ecco un tentativo che ho fatto (che non funziona) ma penso sia sulla strada giusta. Non sono sicuro su quale hook usare. Forse htaccess sarebbe migliore, ma ottenevo loop di redirect quando provavo in quel modo.

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' );
    }
  }
}
7 giu 2014 16:56:35
Commenti

Esiste un approccio simile scritto in una classe qui: http://wordpress.stackexchange.com/a/7832/76440

majick majick
17 mag 2016 08:08:19

Grazie per aver segnalato quella risposta @makick! È una risposta eccellente e in realtà è da lì che ho preso alcune idee, ma non sembrava funzionare per me in molti casi, ed è qui che sono intervenuti i miei cambiamenti. L'unica cosa che sto ancora cercando di capire è come reindirizzare tutti i link wp-admin che vengono digitati manualmente nell'URL. Non riesco proprio a trovare una soluzione. Se hai tempo, prova la mia risposta aggiornata in fondo usando il filtro site_url invece di admin_url. Sembra funzionare piuttosto bene.

Bryan Willis Bryan Willis
27 mag 2016 19:34:14
7
13

No, non puoi rinominare la cartella. Il percorso è hard-codato in molteplici posizioni all'interno del codice sorgente di WordPress.

Inoltre, la sicurezza attraverso l'oscurità non è una vera sicurezza.

12 ago 2010 00:40:03
Commenti

E nella migliore delle ipotesi è una scusa pigra per non cambiare cattive pratiche di programmazione come l'uso di numeri o stringhe "magiche" hardcoded.

hakre hakre
10 gen 2011 14:05:09

@hakre +100

A proposito, la maggior parte delle persone che chiedono come nascondere le cartelle "wp-*" non cercano necessariamente sicurezza, ma piuttosto oscurità... cercano di rendere l'analisi dei loro siti un'attività più dispendiosa.

Victor Farazdagi Victor Farazdagi
5 lug 2011 14:19:39

In realtà, non è sicurezza attraverso l'oscurità. È un URL oscuro, una valida tecnica di sicurezza. Vedi la risposta qui sotto per i dettagli.

cmc cmc
15 mar 2013 13:47:36

Beh, ho provato a seguire con una nuova serie di argomenti, ma la risposta è stata: "Questa è una forte decisione di non correggere secondo me" e il piuttosto arrogante "nemmeno il login di gmail è un URL oscuro". Nessuna ragione tecnica, nessuna spiegazione, nessun dibattito, semplicemente non lo faranno.

cmc cmc
19 mar 2013 12:50:42

WordPress è molto più venerabile di Gmail. Un motivo è che WordPress è open-source. Tutti conoscono il codice. La sicurezza attraverso l'oscurità non è comunque vera sicurezza? Ma noi non siamo i programmatori di WordPress. È open-source. Secondo me, l'oscurità aiuta a rendere più sicuro. Perché la gente usa password cifrate allora? Secondo questa logica, non c'è alcuna utilità nell'encryption delle password... Perché se il database è visibile, gli hacker possono fare qualsiasi cosa... Il mio WordPress è stato violato 2 volte e 2 volte il WordPress della mia azienda in 10 anni... E nessuno dei miei 6-7 account Gmail è stato violato in 15 anni finora...

web2students.com web2students.com
19 ago 2015 14:34:16

Quello che si chiede non è "sicurezza attraverso l'oscurità" – è sicurezza E oscurità. Anche una banca con la cassaforte migliore al mondo non la renderebbe direttamente accessibile dalla strada. Cambiare il nome della directory rende molto più difficili gli attacchi automatizzati.

JoLoCo JoLoCo
16 giu 2017 19:57:13

È una questione di sicurezza perché sicurezza significa renderla più sicura. Mettere la tua cassaforte in strada per far indovinare a tutti il codice di combinazione è molto meno sicuro che nascondere la cassaforte in un luogo nascosto.

David d C e Freitas David d C e Freitas
6 apr 2024 14:09:17
Mostra i restanti 2 commenti
0
11

Un approccio ufficialmente supportato da WordPress consiste nello spostare i file di installazione di WordPress in una sottodirectory, mantenendo il sito nella radice, in questo modo:

URL del sito: http://my-blog.com

URL di amministrazione: http://my-blog.com/7nxnkkugrdzm/wp-admin

Anche se questo non ti dà la completa libertà di modificare l'URL di amministrazione, significa che puoi aggiungere un prefisso a tuo piacimento. Dal punto di vista della sicurezza, è altrettanto efficace. Inoltre, ha il vantaggio di spostare tutti i file di installazione di WordPress in una posizione sconosciuta agli utenti, quindi dovrebbe far parte di qualsiasi strategia di protezione di WordPress.

Dal WordPress Codex: Assegnare a WordPress la sua propria directory

Inoltre, nota che anche se questo schema di sicurezza è chiamato URL oscuro, non è la stessa cosa della sicurezza per oscuramento. L'URL oscuro è uno schema di sicurezza perfettamente valido che è efficace quanto una password, mentre la sicurezza per oscuramento si basa sull'uso di procedure segrete non verificate.

Valgono però le stesse avvertenze delle password: chiama la cartella personalizzata con un nome come 7nxnkkugrdzm, non happy-snappy-admin. Inoltre, assicurati che i tuoi utenti siano consapevoli che l'URL di amministrazione è un segreto.

13 mar 2013 16:47:17
1

C'è un ottimo tutorial su questo argomento qui:

Come Nascondere le Informazioni di WordPress dal Codice Sorgente mirror

Include come rinominare wp-content, rinominare wp-admin e rimuovere il tag generator da WordPress.

Questo tutorial modificherà le evidenze ovvie o gli indizi nel tuo codice sorgente, rimuovendo efficacemente le informazioni di WordPress dal tuo sito.

Spiega come cambiare il nome della cartella, l'url di accesso a wp-admin e assicurarsi che login.php reindirizzi al sito principale in modo che le persone possano accedervi direttamente.

9 gen 2011 20:09:26
Commenti

Il link è rotto (ed è stato sostituito da contenuti malevoli)

Gfra54 Gfra54
15 giu 2021 16:17:46
0

Se vuoi impedire agli utenti con livello di sottoscrittore di vedere la directory wp-admin, puoi creare versioni autonome delle pagine di login/registrazione e profilo/modifica nelle loro proprie directory. Poi, puoi proteggere la tua cartella admin tramite htaccess o restrizione IP. (Anche se se fai questo, dovresti fare un'eccezione per il file admin-ajax, poiché alcuni plugin lo utilizzano per aggiungere, ehm, funzionalità AJAX).

Questo approccio ti dà l'"oscurità" che desideri (che in realtà non fa molto, ma spesso fa sentire meglio clienti e manager), e aggiunge anche un po' di sicurezza reale limitando l'accesso all'admin. Inoltre, onestamente, un URL che dice semplicemente "/login" sembra molto più bello di "wp-login.php".

Dovrebbe essere scontato che questo non rende il tuo sito a prova di proiettile. Ma è un bel miglioramento di base.

15 nov 2010 09:11:50
0

Un modo per proteggere il pannello di controllo amministrativo è utilizzare le regole .htaccess. Basta aggiungere un file .htaccess alla radice della directory wp-admin. Dopo aver aggiunto il file, inserisci la seguente regola per negare tutti gli indirizzi IP e consentire solo il tuo IP:

http://wp.tutsplus.com/tutorials/10-steps-to-securing-your-wordpress-installation/

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Controllo Accesso Admin WordPress"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
whitelist address
allow from <INSERISCI QUI IL TUO INDIRIZZO IP>
</LIMIT>
7 dic 2011 16:10:00
0

Se desideri rinominare la cartella wp-admin con l'obiettivo di aggiungere un ulteriore livello di sicurezza alla tua installazione WordPress, puoi anche provare il Roots / Bedrock WordPress Boilerplate. Può aiutare a isolare la root web per limitare l'accesso ai file non web. Può anche essere utile per organizzare/proteggere l'intero core di WordPress posizionandolo nella sua sottocartella, come rinominare wp-content/ in app/, oltre a queste funzionalità aggiuntive:

  • Gestione delle dipendenze con Composer
  • Configurazione semplificata di WordPress con file specifici per ambiente
  • Variabili d'ambiente con Dotenv
  • Autoloader per mu-plugins (utilizza plugin regolari come mu-plugins)
  • Sicurezza avanzata (radice web separata e password sicure con wp-password-bcrypt)

Puoi anche consultare il loro repository GitHub per un utilizzo più dettagliato:

16 mag 2016 06:22:34
3

Dai un'occhiata a http://wordpress.org/extend/plugins/stealth-login/ potrebbe esserti d'aiuto.

14 nov 2010 23:09:02
Commenti

Ho avuto problemi con quel plugin quando l'ho provato. E attualmente non sembra essere mantenuto o compatibile con WP 3.x

Rarst Rarst
14 nov 2010 23:41:32

ah... peccato, non l'ho controllato, l'ho disinstallato tempo fa. Ma hey... forse qualcuno può sistemarlo se c'è un reale bisogno.

edelwater edelwater
15 nov 2010 02:58:09

come alternativa, dai un'occhiata a http://wordpress.stackexchange.com/questions/4037/how-to-redirect-rewrite-all-wp-login-requests

hakre hakre
10 gen 2011 14:07:29
0

Non è possibile rinominare la cartella wp-admin con alcun tipo di codice o hack tramite htaccess,

In passato ho fatto la stessa cosa per un cliente eseguendo una ricerca completa delle cartelle tramite Coda (l'editor che uso) per i tag "wp-admin, wp-content...etc" e ho rimosso il prefisso "wp-" dai file.

Dopo di che sarai in grado di installarlo ma:
Dovrai fare lo stesso con i plugin che vuoi installare, Dovrai aggiornare il core manualmente rimuovendo il tag "wp-" dalle nuove versioni.

In ogni caso non ti consiglio di fare una cosa del genere, lascia tutto com'è e cerca piuttosto di implementare una pagina di Login/Registrazione/Profilo utente per offrire un'esperienza migliore ai tuoi utenti/clienti.

Cristian di Cozmolabs ha scritto un ottimo tutorial. Puoi modificare leggermente il codice e farlo funzionare con qualsiasi tema WordPress.

Puoi anche aggiungere un modulo per gli articoli direttamente dal frontend così che l'Amministratore e gli utenti con i permessi necessari possano scrivere articoli senza accedere al backend.

Qui puoi vedere un esempio e il codice per creare una pagina di pubblicazione articoli dal frontend. Front-End Post Submission

Puoi anche dare un'occhiata a qualche plugin qui che fa la stessa cosa con più funzionalità.

10 gen 2011 11:56:32
0

E SE LAVORASSIMO CON WP-ADMIN DALL'INTERNO DI UN IFRAME?

Crea una nuova pagina nella dashboard di WordPress chiamata "Admin". Esempio: tuodominio/admin/

Puoi utilizzare uno statement condizionale nei file header.php, page.php e/o footer.php per disabilitare gli elementi del template non necessari, usando:

<?php
if(!is_page('admin')): //se non è la pagina admin

//avvolgi il codice non necessario o indesiderato

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%; //o 100vw
        height: 100%; //o 100vh
    }
}   
</style>

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

<?php 
endif;

Questa soluzione non è elegante, ma almeno in parte permette di nascondere wp-admin dall'URL. Un altro metodo possibile è utilizzare il forwarding di dominio con mascheramento dell'URL abilitato.

27 apr 2019 08:40:48
1

Io stesso elimino il file wp-login.php e lo carico via FTP prima di voler accedere, per poi eliminarlo nuovamente fino alla prossima volta Ma altrimenti direi

  1. Il plugin Wordfence aiuterà molto a bloccare i tentativi di hacking umani. Usa un nome utente molto lungo e complesso per l'account admin (gli hacker e i bot non si aspettano che gli umani usino nomi utente lunghi, solo password), uno che nemmeno tu riesci a ricordare, e accedi utilizzando l'indirizzo email che hai usato invece, è anche un'ottima mossa.
  2. Elimina il contenuto del file comments.php e non permettere mai commenti sul tuo sito web, né iscrizioni, è la scelta migliore, limitando l'accesso solo agli amministratori e, se necessario, ai tuoi autori e editori. Eliminare il contenuto di comments.php previene molti malware iniettati e hack.
  3. Metti uno spazio tra due parole come nome di login, poiché la maggior parte degli hacker non si rende conto che puoi usare un nome utente con uno spazio vuoto, e spesso usano underscore anche quando indovinano il tuo nome utente (hacker umani che usano ingegneria sociale). Le password lunghe e complesse si sono rivelate non essere più sicure di una password di 8 caratteri/numeri, quindi sta a te studiare.
  4. Ultimo ma non meno importante, non bisogna solo proteggere login.php (tra l'altro non usare mai il nome utente "[login]"), ma anche il file xml rpc che è l'altro file che gli hacker amano usare per provare ad accedere. Di solito questo tipo di attacco è portato avanti da un delinquente di basso livello con poca conoscenza del vero hacking che usa l'AI per fare il lavoro, e sta solo tentando la fortuna. Ma meglio prevenire che curare. Inoltre, il plugin WP all in one Migration ti permette di scaricare l'intero sito con database e configurazione e caricarlo nuovamente in caso di hacking e cancellazione del sito. Un backup giornaliero prima di andare a dormire garantirebbe che il tuo sito sia sempre come era prima di coricarti. Backup offline su hard drive (esterno), e sarai sempre al sicuro. Oh, e mantieni i plugin al minimo poiché spesso vengono lasciati marcire dagli sviluppatori e non aggiornati, e se il tuo blog ha usato il plugin (ad esempio plugin per playlist YouTube) per pubblicare, eliminare un plugin obsoleto renderà molti post privi di senso con contenuti mancanti (pensa sempre in anticipo). Ma usa i plugin necessari come akismet, wordfence free e wp all in one migration tool per il backup di file, contenuti e database del sito. Molti plugin hanno anche vulnerabilità e un rapido sniff del tuo server mostrerà tutte le cartelle all'hacker, che saprà che hai il plugin e attaccherà attraverso quello. Non usare nemmeno Discus o altri moduli di commento di terze parti, poiché ci sono più dati che vengono rubati e compromessi attraverso inception di quarte parti (YouTube attualmente hackerato utilizzando il tagging della posizione nelle app), di quanto sia utile. Meglio avere una pagina Facebook e far commentare le persone lì, ma non inserire widget o codice che collega da o verso altri domini, e le loro API troppo, poiché i dati comunicati e condivisi vengono intercettati facilmente da hacker professionisti. Non ho commenti o pulsanti di condivisione sui miei siti WordPress per questo motivo. (me la cavo bene e vivo bene senza bisogno di commenti con il tipo di siti web che ho). Ad esempio, se questa domanda fosse sotto forma di un video YouTube, tutti avrebbero abbandonato WordPress su stackexchange (non che lo suggerisca, stack exchange è fantastico!) e commentato sul loro canale YouTube invece. Più sicuro, più sicuro. Quindi crea un canale YT e una pagina FB e usali per permettere alle persone di 'iscriversi e commentare' e mantieni il sito WordPress il più essenziale possibile senza opzioni di login
31 ott 2020 22:45:30
Commenti

Questa risposta sembra solo un'opinione. Hai delle ricerche che potresti fornire per corroborare questa metodologia? Qualche ricerca che supporti i tuoi punti e affermazioni?

Howdy_McGee Howdy_McGee
1 nov 2020 00:07:14
0

Puoi utilizzare il plugin "HC Custom WP-Admin URL":

  • installa e attiva il plugin;
  • vai su Impostazioni --> Permalink;
  • scorri fino a "Slug WP-Admin"; Cambia lo slug;
  • esci; -accedi utilizzando il nuovo slug.
28 mar 2023 13:27:48