¡Descubre la comunidad que estabas esperando!

Únete hoy mismo y empieza a disfrutar de discusiones fascinantes, contenido exclusivo y conexiones con personas afines.

¡No te quedes fuera! La comunidad está esperando por ti.


¡REGÍSTRATE YA!

Tutoriales Código para Limitar los intentos de inicio de sesión fallidos en WP

Aprende paso a paso con nuestros tutoriales detallados y fáciles de seguir 🛠️. Desde WordPress y desarrollo web 🖥️ hasta estrategias de marketing digital 📊 y trucos de inteligencia artificial 🤖. ¡Domina nuevas habilidades y potencia tu conocimiento con nuestras guías expertas! 🚀
Explorador Activo
Registrado
11 Oct 2023
Mensajes
33
USDT
$ㅤ0
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.

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');

Captura de pantalla (7).png
 
Arriba