Come proteggere il tuo accesso a WordPress dagli attacchi di forza bruta – Approccio semplice?
Per accedere alla dashboard di amministrazione del tuo blog wordpress, wp-login.php è il file da visitare. Molti spammer forzano le password fino a quando non le hanno corrette. Questo non solo mette a rischio la sicurezza del tuo blog, ma consuma anche la larghezza di banda del traffico.
È possibile controllare il registro delle visite e vietare determinati IP, tuttavia, questa soluzione potrebbe non essere generale ed efficace se gli attacchi provengono da IP multipli/distribuiti, ad esempio DDOS. La seguente soluzione è semplice e tuttavia potente/efficace. Funziona nascondendo wp-login.php o inserendo un blocco extra, che solo tu conosci.
L’approccio consiste nel modificare wordpress functions.php (preferibilmente nella cartella del modello del tema figlio) e aggiungere le seguenti righe di codice PHP :
function login_protection(){
if($_GET['secret'] != 'helloacm') header('Location: <a class="vglnk" target="_blank" href="https://helloacm.com" rel="nofollow"><span>https</span><span>://</span><span>helloacm</span><span>.</span><span>com</span></a>');
}
add_action('login_enqueue_scripts','login_protection');
Salva semplicemente il file e la prossima volta, se vuoi accedere alla tua dashboard, devi chiamarlo come:
/wp-login.php?secret=helloacm
È possibile modificare la coppia chiave e valore in base al proprio preferito. Il mancato passaggio dei valori segreti reindirizzerà gli utenti alla home page, tuttavia, per migliorarla, potresti voler restituire un errore 404 – non trovato, che potrebbe confondere / fuorviare gli aggressori in modo che abbandonino gli attacchi di forza bruta.
function login_protection(){
if($_GET['secret'] != 'helloacm') {
header($_SERVER['SERVER_PROTOCOL']. ' 404 Not Found', true, 404);
exit("<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">rn<html><head>rn<title>404 Not Found</title>rn</head><body>rn<h1>Not Found</h1>rn<p>The requested URL ". $_SERVER['SCRIPT_NAME']. " was not found on this server.</p>rn</body></html>");
}
}
add_action('login_enqueue_scripts','login_protection');