KakapoWPKakapoWP
AccediProva gratis
Centro assistenza/Security/Spostare l'indirizzo di accesso: configurare, verificare, ripristinare

Spostare l'indirizzo di accesso: configurare, verificare, ripristinare

Vale per: Kakapo Security·4 Min. Lesezeit

Che cosa deve essere a posto prima

Di fabbrica la funzione è spenta e non si accende mai da sola. Tre cose impediscono del tutto lo spostamento — l'interruttore resta allora bloccato e ne indica il motivo: (1) nella wp-config.php è presente il freno d'emergenza define( 'KWPSEC_LOGIN_SLUG_OFF', true );. (2) L'installazione è una rete multisito; lì tutti i siti condividono un unico accesso, lo spostamento dovrebbe avvenire a livello di rete. (3) I permalink sono impostati su «Semplice». In quel caso un percorso come /gartentor non raggiunge affatto PHP, il server web risponde prima con 404. Passa a un'altra struttura in Impostazioni › Permalink prima di proseguire.

Scegliere un percorso

Sono ammessi da 3 a 40 caratteri: lettere minuscole, cifre, trattino e trattino basso. Niente barre, niente vocali con dieresi, nessun punto; le maiuscole vengono convertite in minuscole. Al salvataggio girano quattro controlli: i nomi delle solite liste dei bot (login, wp-login, admin, wp-admin, anmelden, dashboard e simili) vengono rifiutati, perché sarebbero ritrovati in pochi minuti. Se nell'installazione di WordPress esiste già un file o una directory con quel nome, il percorso viene rifiutato — il server web li servirebbe prima che venga interpellato PHP. Le rotte riservate come wp-json, feed, author, category, sitemap o favicon sono bloccate. E se sotto quel percorso si trova già un articolo o una pagina, il percorso viene rifiutato, perché in seguito non sarebbe più raggiungibile. Un percorso salvato non è ancora in vigore — diventa efficace solo quando attivi in aggiunta lo spostamento.

Attivare: che cosa succede automaticamente

Quando sposti l'interruttore l'impostazione viene salvata e subito dopo il server effettua due vere richieste HTTP verso la propria installazione: una al nuovo indirizzo, una al vecchio. Ogni chiamata ha un limite di tempo di 8 secondi, non segue reindirizzamenti e non invia cookie. Come prova che a rispondere sia stata davvero la pagina di accesso, nel testo restituito si cercano id="loginform" e name="log". Se il nuovo indirizzo risponde con HTTP 404 e senza modulo di accesso, la modifica viene revocata subito e viene ripristinato lo stato precedente — in quel caso con nginx manca di solito la riga try_files, con Apache il .htaccess. Se la verifica va a buon fine, il plugin invia il nuovo indirizzo come e-mail di solo testo all'indirizzo di notifica memorizzato (in alternativa all'e-mail dell'amministratore); nell'e-mail è riportata anche la riga del freno d'emergenza per la wp-config.php. Il riscontro dice senza abbellimenti se wp_mail() ha accettato il messaggio — in caso contrario annotati subito l'indirizzo. Viene scritta anche una voce nel log delle attività.

Che cosa cambia nel funzionamento

Sotto il nuovo percorso viene incluso il file originale wp-login.php, non una ricostruzione — gli aggiornamenti di sicurezza di WordPress hanno effetto lì immediatamente. Per chi non ha effettuato l'accesso, /wp-login.php si comporta come qualsiasi indirizzo inesistente: la richiesta viene riscritta su un percorso libero e resa dal tema come un normalissimo 404, senza un messaggio di errore proprio — un messaggio proprio sarebbe l'indizio che qui c'è qualcosa di nascosto. Chi ha effettuato l'accesso passa comunque; è voluto. Se un utente non connesso richiama /wp-admin/, viene mandato con un 302 alla pagina iniziale invece che all'accesso, altrimenti il nuovo indirizzo comparirebbe nell'intestazione Location. admin-ajax.php, admin-post.php, load-styles.php e load-scripts.php restano raggiungibili, così moduli di contatto, carrelli e recensioni continuano a funzionare. Tutti gli indirizzi che WordPress genera tramite site_url(), network_site_url() o wp_redirect() — wp_login_url(), wp_logout_url(), wp_lostpassword_url(), l'attributo action del modulo — puntano automaticamente al nuovo percorso.

Se ti chiudi fuori o qualcosa si inceppa

Prima via: finché nel tuo browser è presente un cookie di accesso valido, raggiungi /wp-login.php e /wp-admin/ senza cambiamenti. Seconda via: l'indirizzo è riportato nell'e-mail del cambio. Terza via: inserisci define( 'KWPSEC_LOGIN_SLUG_OFF', true ); nella wp-config.php — così vale di nuovo subito wp-login.php e l'interruttore resta bloccato finché non togli quella riga. Nell'area di amministrazione ci sono inoltre due pulsanti: uno che ripete la chiamata di verifica e riporta codice HTTP, tempo di risposta e stato del vecchio indirizzo, e uno che invia di nuovo l'e-mail di accesso. Se la chiamata di verifica segnala un errore di rete invece di un codice HTTP, di solito è il loopback a essere bloccato presso l'hoster — questo non significa che l'indirizzo non funzioni; provalo una volta tu stesso. Se un link di un altro plugin continua a puntare a wp-login.php, lì è cablato in modo fisso e non passa da site_url(); può essere riscritto solo ciò che passa attraverso questi filtri. Tornare indietro è possibile in qualsiasi momento con lo stesso interruttore.

Questo articolo ti è stato utile?