Modificare l'URL di Login Senza Plugin

4 set 2014, 00:24:13
Visualizzazioni: 47.7K
Voti: 6

Voglio modificare l'URL di login della mia installazione WordPress allontanandolo da /wp-admin.php

Sto cercando di farlo e sto considerando di modificare il file .htaccess aggiungendo:

RewriteRule ^login$ http://tuodominio.com/wp-login.php [NC, L]

Da quello che ho capito, tuttavia, andando su /wp-admin le persone possono ancora accedere utilizzando quel link. Stavo pensando di implementare una sorta di reindirizzamento PHP in modo che quando l'utente digita /wp-admin venga indirizzato alla pagina 404 not found.

Qual è il modo migliore per modificare l'URL di login senza utilizzare un plugin e con i più alti standard di sicurezza?

4
Commenti

Penso che sia molto meglio se crei una pagina di login personalizzata.

cybmeta cybmeta
4 set 2014 00:27:38

Creare una pagina di login personalizzata non ti dà la possibilità di cambiare l'URL. Ti permette solo di modificare l'aspetto e alcuni parametri.

Travis Patron Travis Patron
4 set 2014 02:02:38

Beh, non è del tutto vero. Devi comunque inviare i dati del modulo di login a wp-login.php, e l'URL diretto di wp-login.php rimane disponibile (è anche con RewriteRule di .htaccess), ma puoi usare l'URL che preferisci per la pagina di login. Basta impostarlo quando crei la pagina come fai con qualsiasi altra pagina in WordPress. Forse non hai letto completamente il link che ho postato. Non sono sicuro quale sia il tuo obiettivo, ma una pagina di login personalizzata soddisfa l'aspetto dell'URL personalizzato, oltre a poterti personalizzare completamente.

cybmeta cybmeta
4 set 2014 09:47:48

Non esiste una ragione o un metodo sensato per farlo "senza un plugin", perché il codice necessario per svolgere il compito dovrebbe essere contenuto all'interno di un plugin. Non reinventare la ruota, usa un plugin collaudato e testato che è progettato specificamente per questo scopo. Questo è il modo sicuro.

Otto Otto
19 mar 2016 11:53:33
Tutte le risposte alla domanda 5
1

Per cambiare l'URL di login, l'ho già fatto personalmente. Mi aiuta a proteggere il mio sito e prevenire attacchi brute force. Puoi modificarlo nel file .htaccess. Ma devi anche aggiungere il filtro per sostituire il vecchio URL di login in WordPress. Esempio per il mio sito: File .htaccess:


RewriteRule ^signin(.*) wp-login.php?%{QUERY_STRING}

Nel tuo tema o in un plugin personalizzato, puoi aggiungere il filtro per assicurarti che WordPress mostri il corretto URL di login.


add_filter( 'login_url', 'my_login_page', 10, 2 );
function my_login_page( $login_url, $redirect ) {
    return str_replace("wp-login.php","signin",$login_url);
}

add_action( 'login_form', 'replace_login_submit_form',1); 
function replace_login_submit_form() {
  $your_content = ob_get_contents();
  $your_content = str_replace("wp-login.php","signin",$your_content);  
  ob_get_clean();
  echo $your_content;
}

Spero che ti possa essere utile!

15 gen 2016 10:40:53
Commenti

non funziona... l'ho provato.

abhij89 abhij89
29 apr 2021 15:14:25
0

Aggiungi questo codice nel file functions.php dopodiché non potrai più accedere alla tua pagina all'indirizzo https://www.thebetacoders.com/wp-admin
Ora potrai accedere alla tua pagina all'indirizzo https://www.thebetacoders.com/wp-login.php?customtext


Modifica le variabili $new_login secondo le tue esigenze.

<?php

function redirect_to_nonexistent_page()
{

  $new_login =  'customtext';
  if (strpos($_SERVER['REQUEST_URI'], $new_login) === false) {
    wp_safe_redirect(home_url('NonExistentPage'), 302);
    exit();
  }
}
add_action('login_head', 'redirect_to_nonexistent_page');

function redirect_to_actual_login()
{

  $new_login =  'customtext';
  if (parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY) == $new_login && ($_GET['redirect'] !== false)) {
    wp_safe_redirect(home_url("wp-login.php?$new_login&redirect=false"));
    exit();
  }
}
add_action('init', 'redirect_to_actual_login');
25 giu 2021 02:01:41
0

Non sono sicuro del perché nessuno utilizzi il metodo standard di WordPress per fare questo.

add_filter( 'login_url', 'my_login_page', 10, 3 );
function my_login_page( $login_url, $redirect, $force_reauth ) {
    return home_url( '/my-login-page/?redirect_to=' . $redirect );
}

Il seguente esempio restituirebbe un URL di login http://example.com/my-login-page/ per la funzione wp_login_url():

copiato dagli esempi di: https://developer.wordpress.org/reference/hooks/login_url/

4 dic 2021 13:20:12
3
-1

Puoi utilizzare questo codice:

add_action('init','custom_login');

function custom_login(){
 global $pagenow;
 if( 'wp-login.php' == $pagenow && $_GET['action']!="logout") {
  wp_redirect('http://ILSITOWEB.com/URL');
  exit();
 }
}
27 gen 2017 22:36:55
Commenti

Per favore aggiungi qualche commento. È una cattiva pratica non fornire spiegazioni alle risposte.

Phill Healey Phill Healey
2 apr 2018 23:08:00

questo è un reindirizzamento, non un nuovo URL di login.

Tritof Tritof
23 feb 2019 14:16:14

questa non è la risposta a quanto richiesto.

Ibnul Hasan Ibnul Hasan
24 gen 2021 19:35:34
2
-2

Ciò può essere possibile creando un nuovo file simile al tuo file wp-login.php esistente. Ecco i passaggi da seguire:

Suggerimento: Esegui un backup del file wp-admin.php prima di seguire le istruzioni seguenti.

  • Apri la posizione di installazione del tuo WordPress, se è nella root cerca semplicemente il file chiamato wp-login.php
  • Ora, crea un nuovo file php e chiamalo con il tuo nuovo URL di accesso, ad esempio se vuoi che il tuo URL di accesso sia www.yoursite.com/iamgaurav invece di www.yoursite.com/wp-admin, crea il nuovo file chiamato: iamgaurav.php
  • Ora copia tutti i codici del file wp-login.php esistente e incollali nel tuo nuovo file iamgaurav.php
  • Cambia tutte le istanze esistenti di wp-login con iamgaurav (facile con l'opzione di sostituzione in massa tramite qualsiasi editor)
  • Ora salva questo file e rimuovi il file wp-login.php originale dalla root.

Hai finito. Pulisci la cache e verifica l'accesso con il nuovo URL: www.yoursite.com/iamgaurav

Riceverai un errore 404 nel caso qualcuno provi ad accedere tramite www.yoursite.com/wp-admin

Spero sia utile.

Grazie

4 giu 2018 19:49:48
Commenti

No. No. Non modificare nessuno dei file core.

De Coder De Coder
26 ago 2018 12:11:36

Se hai intenzione di consigliare di modificare i file core (cosa che non dovresti assolutamente fare), ALMENO abbi la decenza di chiarire i problemi che questa soluzione comporta

Raba Raba
20 dic 2019 10:57:10