Fuerza que el usuario este logeado un tiempo máximo

Es importante cerrar la sesión de un usuario de WordPress pasado un tiempo para mantener la seguridad de la cuenta.

Si un usuario no cierra la sesión, cualquier persona que tenga acceso al dispositivo puede acceder a la cuenta sin tener que ingresar la contraseña. Esto puede resultar en la divulgación de información confidencial, así como en el robo de identidad. Además, cerrar la sesión también ayuda a prevenir el uso no autorizado de la cuenta, por eso te dejo dos códigos para cerrar la sesión de un usuario en WordPress.

Plugin para cerrar la cuenta de un usuario de WordPress pasado un tiempo.

Este plugin esta dividido en dos partes:

  1. La primera parte del código se utiliza para comprobar si el usuario actual está conectado y, si es así, se obtiene la hora en la que se conectó. Luego se compara con la hora actual, si ha pasado más de 8 horas desde que se conectó se llama a la función wp_logout() para desconectar al usuario.
  2. El segundo trozo de código se utiliza para actualizar la hora de conexión del usuario cada vez que se conecta, esto es importante para saber desde cuando comenzo a contar las 8 horas de inactividad.
<?php
/*
Plugin Name: Force Login Expiration
Description: Forza la desconexión del usuario después de 8 horas de inactividad
*/

add_action('init', 'force_login_expiration');
function force_login_expiration() {
    if (is_user_logged_in()) {
        $logged_in_time = get_user_meta(get_current_user_id(), 'logged_in_time', true);
        $current_time = time();

        // Si ha pasado más de 8 horas desde que el usuario se conectó
        if ($current_time - $logged_in_time > 8 * 60 * 60) {
            wp_logout();
        }
    }
}

add_action('wp_login', 'update_logged_in_time');
function update_logged_in_time($user_login) {
    $user = get_user_by('login', $user_login);
    update_user_meta($user->ID, 'logged_in_time', time());
}

Una cosa más este código es solo un ejemplo básico, y puedes personalizarlo para adaptarse a tus necesidades, por ejemplo, puedes cambiar la cantidad de horas que quieres que el usuario se mantenga conectado.

Codigo para cerrar la cuenta de un usuario en WordPress usando las Cookies.

También te dejo este código que puedes usar en el archivo de functions.php , que hace algo similar pero cuando las cookies.

<?php
/* Fuerza estar logeado max 8 horas en segundos */
add_filter( 'auth_cookie_expiration', 'logueado_8_hora' );
function logueado_8_hora( $expire ) {
  return 28800; // 8 horas en segundos
};?>

Foto de Perfil de Juan Luis Martel

Juan Luis Martel.

Profesional en Tecnologías Integradas - Desarrollo Web y Electrónica.

Las Palmas de Gran Canaria, España

Soy un apasionado de la programación con experiencia en Wordpress, PHP, PIC, Microcontroladores y ASM. Además, soy Técnico Especialista en Electrónica y también tengo experiencia como profesor en este campo. Mi pasión por la electrónica me ha llevado a combinar mis habilidades en programación con mi conocimiento técnico, lo que me permite crear soluciones innovadoras y eficientes en mis proyectos de paginas webs y de electrónica.

¡No te vayas sin valorar el contenido!

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Ya que has encontrado útil el contenido...

🙏 Ayúdame y compártelo en tus redes sociales ¡Significa mucho para mí! - Gracias

¡Siento que el contenido no te haya sido útil o gustado! 😔

¡Déjame mejorar este contenido!

Dime, ¿cómo crees que puedo mejorar este contenido? 🙏 ¡Significa mucho para mí! - Gracias

Deja un comentario