- Tema Autor
- #1
Se coloca en el functions.php o en el plugin que uses para códigos personalizados.
Lo estoy usando en mi web, al cuarto intento de querer colocar usuario y contraseña, cuando es incorrecto/no registrado los bloquea.
Los campos a modificar esta señalados por comentarios.

Lo estoy usando en mi web, al cuarto intento de querer colocar usuario y contraseña, cuando es incorrecto/no registrado los bloquea.
Los campos a modificar esta señalados por comentarios.
Código:
// Limitar los intentos de inicio de sesión fallidos
function limit_login_attempts() {
$max_attempts = 3; // cambiar cantidad intentos
$lockout_time = 600; // 10 minutos
if (!session_id()) {
session_start();
}
if (isset($_SESSION['failed_attempts']) && $_SESSION['failed_attempts'] >= $max_attempts) {
$last_failed_time = $_SESSION['last_failed_time'] ?? time();
$time_diff = time() - $last_failed_time;
if ($time_diff < $lockout_time) {
wp_die('Has alcanzado el límite de intentos de inicio de sesión. Por favor, inténtalo de nuevo en 10 minutos.'); // Cambiar texto mensaje predefinido
} else {
$_SESSION['failed_attempts'] = 0;
}
}
if (isset($_POST['wp-submit'])) {
$user = wp_authenticate($_POST['log'], $_POST['pwd']);
if (is_wp_error($user)) {
$_SESSION['failed_attempts'] = ($_SESSION['failed_attempts'] ?? 0) + 1;
$_SESSION['last_failed_time'] = time();
}
}
}
add_action('login_init', 'limit_login_attempts');
