Prevenire il timeout della sessione

17 set 2013, 08:13:58
Visualizzazioni: 30.3K
Voti: 15

Non sono sicuro se questo sia un bug o una funzionalità progettata, ma è davvero fastidioso. Ogni tanto, soprattutto dopo l'aggiornamento del core, mentre sono nella sezione amministrativa, vengo disconnesso con il famigerato messaggio "La tua sessione è scaduta". Strano di per sé dato che apparentemente WordPress non usa sessioni. La schermata di login viene mostrata con una casella "ricordami", perché non sta ricordando? Immagino ci sia una distinzione tra "ricordami" e "mantieni l'accesso" in questo caso. Ho disabilitato tutti i plugin, cancellato i cookie, provato altri browser e ho persino urlato al mio schermo, ma continuo ad essere disconnesso.

WordPress imposta un limite di tempo di inattività nella sezione amministrativa? Qualcuno potrebbe spiegare esattamente cosa fa WordPress per mantenere gli utenti connessi?

2
Commenti

Non ho una risposta diretta, comunque, per favore abilita il debug in WordPress, per vedere se c'è qualcosa di strano con la tua installazione specifica!

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

@PothiKalimuthu Già fatto e non vedo nulla di fuori dall'ordinario.

Twifty Twifty
17 set 2013 09:11:14
Tutte le risposte alla domanda 2
6
13

Di default, WordPress imposta la scadenza del cookie di sessione di login a 48 ore (o alla chiusura del browser), oppure a 14 giorni se si seleziona la casella "Ricordami".

Potresti avere alcuni plugin che forzano la scadenza del cookie di login.

Puoi aggiungere manualmente il codice seguente nel tuo file functions.php per estendere la scadenza del cookie a qualsiasi intervallo di tempo desideri. In sostanza, puoi impedire a WordPress di disconnetterti mai modificando il numero di secondi con un valore molto più 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 anno in secondi
}

Oppure puoi anche utilizzare questo plugin per modificare il limite di tempo: Configura Timeout di Login

Spero che ti sia utile!!

25 apr 2017 07:09:06
Commenti

a partire dalla versione 4.0 (se non ricordo male) WordPress utilizza il tracciamento delle sessioni, e la scadenza del cookie è solo una spiegazione/parziale soluzione nella migliore delle ipotesi

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

Nota che se provi questo e non sembra funzionare, quando l'utente effettua il login deve spuntare "ricordami" affinché abbia effetto. Altrimenti il cookie viene impostato fino alla fine della sessione del browser.

Nathan Nathan
7 apr 2020 22:43:30

Utilizza la costante di WordPress YEAR_IN_SECONDS

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

Funziona ancora adesso? Nel 2021?

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

@MukeshwarSingh non pubblicare commenti come risposte complete, verrai bannato automaticamente dal sistema anti-spam. Ho spostato la risposta nei commenti, ma avere 1 punto reputazione non è una scusa. Hai già ricevuto un flag automatico sul tuo account per questo motivo

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

Quel plugin Configure Login Timeout ha solo poche recensioni, alcune dicono che ha causato problemi. C'è un altro configure-login-timeout che ha anch'esso poche recensioni, ma non sembra essere stato aggiornato da diversi anni quindi è altrettanto rischioso.

O'Rooney O'Rooney
17 nov 2021 03:20:40
Mostra i restanti 1 commenti
1

Questo è il codice che ho aggiunto nel mio tema child per mantenere l'utente loggato per 2 settimane sul mio sito 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 settimane in secondi

}
6 gen 2022 15:29:58
Commenti

Ma WEEK_IN_SECONDS equivale a una settimana, non due.

Rup Rup
13 gen 2022 00:49:05