O WordPress informa, na tela de autenticação, se você errou o nome de usuário ou a senha.
O problema é que esta informação pode ser valiosa a um agressor, uma vez que, se souber que uma das entradas está correta, metade do trabalho de invasão já estará completo.
Em princípio, eu recomendaria suprimir qualquer mensagem. Deixa tudo em branco e não informe absolutamente nada. Se você está realmente preocupado com a segurança do seu site, é melhor deixar o agressor no vácuo total.
O código que vou te apresentar, abaixo, foi criado por Sérgio Costa e pode ser facilmente alterado para exibir nenhuma mensagem (conforme recomendei acima) ou exibir frases aleatórias, de uma lista, que você mesmo vai fornecer.
Deve ser inserido dentro do arquivo functions.php, da seguinte forma:
<?php
// Insert into your functions.php and have fun creating login error msgs
function guwp_error_msgs() {
// insert how many msgs you want as an array item. it will be shown randomly
$custom_error_msgs = array(
'<strong>YOU</strong> SHALL NOT PASS!',
'<strong>HEY!</strong> GET OUT OF HERE!',
);
// get random array item to show
return $custom_error_msgs[array_rand($custom_error_msgs)];;
}
add_filter( 'login_errors', 'guwp_error_msgs' );
?>
Outras sugestões de aplicação
Uma sugestão (minha) é evitar usar frases “provocativas” — por que elas podem acabar servindo de incentivo a uma pessoa maliciosa.
Alterar o functions.php tem, pelo menos, um ponto negativo: em caso de atualização do tema, o arquivo será suprimido para dar espaço para a nova versão. Para evitar isso, use temas filhos do WordPress.
Outra abordagem, é incluir o código sugerido pela Lilly Freitas em um plugin — que não é apagado nas atualizações.
Neste caso, crie o arquivo de plugin dentro da pasta /wp-content/plugins/ e o ative no painel de controle do WordPress.
O código original do Sérgio Costa: https://gist.github.com/zergiocosta/72f87176b236ed0c6e13
O código do plugin da Lilly Freitas: https://gist.github.com/lillyfreitas/fb5744f776af11f9958f2c8744139dfb