Prevenir el tiempo de espera de la sesión

17 sept 2013, 08:13:58
Vistas: 30.3K
Votos: 15

No estoy seguro si esto es un error o está diseñado así, pero es muy molesto. De vez en cuando, más aún después de actualizar el core, mientras estoy en la sección de administración, me expulsa con el infame mensaje "Tu sesión ha expirado". Es extraño en sí mismo ya que aparentemente WordPress no usa sesiones. El prompt de inicio de sesión viene con una casilla de "recuérdame", ¿por qué no me está recordando? Supongo que hay una distinción entre "recuérdame" y "mantenerme conectado" aquí. He desactivado todos los plugins, borrado cookies, probado otros navegadores e incluso le he gritado a mi pantalla, pero sigo siendo expulsado.

¿WordPress establece un límite de tiempo de inactividad en la sección de administración? ¿Alguien podría explicar qué hace exactamente WordPress para mantener a los usuarios conectados?

2
Comentarios

No tengo una respuesta directa, sin embargo, por favor activa el modo de depuración en WordPress, para ver si hay algo extraño en tu instalación particular.

Pothi Kalimuthu Pothi Kalimuthu
17 sept 2013 08:38:58

@PothiKalimuthu Ya lo hice y no puedo ver nada fuera de lo normal.

Twifty Twifty
17 sept 2013 09:11:14
Todas las respuestas a la pregunta 2
6
13

Por defecto, WordPress hace que la cookie de sesión de inicio de sesión expire en 48 horas (o al cerrar el navegador), o en 14 días si marcas la casilla "Recuérdame".

Quizás tengas algunos plugins que fuerzan a que tu cookie de inicio de sesión expire.

Puedes agregar manualmente el siguiente código en tu archivo functions.php para extender la expiración de tu cookie al período de tiempo que prefieras. En esencia, puedes evitar que WordPress cierre tu sesión cambiando el número de segundos a un valor mucho más alto.

add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );
function keep_me_logged_in_for_1_year( $expirein ) {
    return YEAR_IN_SECONDS; // 1 año en segundos
}

También puedes usar este plugin para cambiar el límite de tiempo: Configurar Tiempo de Espera de Inicio de Sesión

¡Espero que te ayude!

25 abr 2017 07:09:06
Comentarios

a partir de la versión 4.0 (si no recuerdo mal) WordPress sí utiliza seguimiento de sesiones, y la expiración de cookies es solo una explicación/parche parcial en el mejor de los casos

Mark Kaplun Mark Kaplun
25 abr 2017 08:43:50

Ten en cuenta que si pruebas esto y parece no funcionar, al iniciar sesión el usuario debe marcar "recordarme" para que tenga efecto. De lo contrario, la cookie solo estará activa hasta que termine la sesión del navegador.

Nathan Nathan
7 abr 2020 22:43:30

Utiliza la constante de WordPress YEAR_IN_SECONDS

Andrew Schultz Andrew Schultz
12 may 2020 10:03:07

¿Sigue funcionando ahora? ¿En 2021?

Mukeshwar Singh Mukeshwar Singh
16 mar 2021 13:46:14

@MukeshwarSingh no publiques comentarios como respuestas completas, serás baneado automáticamente por el sistema anti-spam. He movido la respuesta a los comentarios, pero tener 1 de reputación no es una excusa. Ya tienes una marca automática en tu cuenta por eso

Tom J Nowell Tom J Nowell
16 mar 2021 14:10:03

Ese plugin Configure Login Timeout tiene solo unas pocas reseñas, algunas dicen que causó problemas. Hay otro configure-login-timeout que también tiene pocas reseñas, pero parece que no se ha actualizado en varios años, así que también es riesgoso.

O'Rooney O'Rooney
17 nov 2021 03:20:40
Mostrar los 1 comentarios restantes
1

Este es el código que agregué en mi tema hijo para mantener al usuario conectado durante 2 semanas en mi sitio web:

add_filter(‘auth_cookie_expiration’, 

‘keep_me_logged_in_for_2_week’ );

function keep_me_logged_in_for_2_week( $expirein ) {

return WEEK_IN_SECONDS * 2; // 2 semanas en segundos

}
6 ene 2022 15:29:58
Comentarios

Pero WEEK_IN_SECONDS es una semana, no dos.

Rup Rup
13 ene 2022 00:49:05