2012-02-08 10 views
14

Quiero expira la sesión si el usuario (admin) está inactiva durante 15 minutos en el sitio de wordpress,cómo cambiar el tiempo de sesión caducan en wordpress

puede alguien decirme cuál es el tiempo de expiración de sesión predeterminado en wordpress? y cómo cambiar ese tiempo de expiración predeterminado.

Respuesta

0

Tiene que hacerlo manualmente. Lamentablemente, Wordpress no tiene ninguna opción para hacer esto.

Para hacer esto usted mismo vea esto question en SO similar.

O puede intentar instalar el complemento this que le permite cambiar el valor de tiempo de espera de sesión predeterminado de Wordpress.

40

Basta con añadir este código en functions.php de tu tema:

add_filter('auth_cookie_expiration', 'my_expiration_filter', 99, 3); 
function my_expiration_filter($seconds, $user_id, $remember){ 

    //if "remember me" is checked; 
    if ($remember) { 
     //WP defaults to 2 weeks; 
     $expiration = 14*24*60*60; //UPDATE HERE; 
    } else { 
     //WP defaults to 48 hrs/2 days; 
     $expiration = 2*24*60*60; //UPDATE HERE; 
    } 

    //http://en.wikipedia.org/wiki/Year_2038_problem 
    if (PHP_INT_MAX - time() < $expiration) { 
     //Fix to a little bit earlier! 
     $expiration = PHP_INT_MAX - time() - 5; 
    } 

    return $expiration; 
} 
+1

¿Esto cambia el tiempo de caducidad de la cookie, o el tiempo de caducidad de una sesión en el servidor? No son lo mismo y simplemente cambiar el tiempo de caducidad de la cookie no mitiga el riesgo de seguridad de sesiones más largas. – Andrew

+3

Sorprendentemente, WordPress no usa sesiones PHP en absoluto. Utiliza solo cookies. Y usa varios de ellos con nombres hash, por lo que no quiere meterse con ellos directamente, hágalo de la manera de WordPress con filtros como este o llamando a las API de WordPress. P.ej. si desea desconectarse del usuario actual, puede llamar a wp_clear_auth_cookie(), http://codex.wordpress.org/Function_Reference/wp_clear_auth_cookie – sootsnoot

+2

Divulgación completa: WordPress * core * no usa sesiones. Es posible que algunos complementos lo hagan. Tendría que buscar el código fuente de sus complementos si quería estar seguro. Noto que la referencia en la respuesta aceptada es a un artículo sobre el control de la duración de la sesión de PHP, que no afecta el estado de inicio de sesión de un usuario de WordPress. – sootsnoot

Cuestiones relacionadas