Prevenirea expirării sesiunii

17 sept. 2013, 08:13:58
Vizualizări: 30.3K
Voturi: 15

Nu sunt sigur dacă este un bug sau este făcut intenționat, dar este extrem de enervant. Din când în când, mai ales după actualizarea core-ului, în timpul lucrului în secțiunea de administrare, sunt deconectat cu celebrul mesaj "Sesiunea ta a expirat". Este ciudat în sine deoarece aparent WordPress nu folosește sesiuni. Formularul de autentificare vine cu o casetă de bifat "Ține-mă minte", de ce nu mă ține minte? Presupun că există o diferență între "Ține-mă minte" și "Păstrează-mă conectat" aici. Am dezactivat toate plugin-urile, am șters cookie-urile, am încercat alte browsere și chiar am țipat la ecran, dar tot sunt deconectat.

WordPress setează o limită de timp pentru inactivitate în secțiunea de administrare? Poate cineva să explice exact ce face WordPress pentru a menține utilizatorii conectați.

2
Comentarii

Nu am un răspuns direct, totuși, te rog activează depanarea în WordPress, pentru a vedea dacă este ceva neobișnuit cu instalarea ta particulară!

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

@PothiKalimuthu Deja am făcut asta și nu văd nimic neobișnuit.

Twifty Twifty
17 sept. 2013 09:11:14
Toate răspunsurile la întrebare 2
6
13

În mod implicit, WordPress configurează cookie-ul de autentificare să expire în 48 de ore (sau la închiderea browserului), sau în 14 zile dacă bifați opțiunea „Ține-mă minte”.

Este posibil să aveți unele plugin-uri care forțează expirarea cookie-ului de autentificare.

Puteți adăuga manual codul de mai jos în fișierul functions.php pentru a prelungi durata de expirare a cookie-ului la orice interval de timp doriți. În esență, puteți preveni WordPress să vă deconecteze prin setarea unui număr mai mare de secunde.

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 an în secunde
}

De asemenea, puteți utiliza acest plugin pentru a modifica limita de timp: Configure Login Timeout

Sper că vă ajută!!

25 apr. 2017 07:09:06
Comentarii

începând cu versiunea 4.0 (dacă îmi amintesc corect), WordPress folosește urmărirea sesiunilor, iar expirarea cookie-urilor este doar o explicație/ soluție parțială în cel mai bun caz

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

Rețineți că dacă încercați acest lucru și nu pare să funcționeze, la autentificare utilizatorul trebuie să bifeze opțiunea "ține-mă minte" pentru ca acest lucru să aibă efect. În caz contrar, cookie-ul este setat până la încheierea sesiunii browserului.

Nathan Nathan
7 apr. 2020 22:43:30

Utilizați constanta WordPress YEAR_IN_SECONDS

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

Încă funcționează acum? În 2021?

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

@MukeshwarSingh nu posta comentarii ca răspunsuri complete, vei fi banat automat de sistemul anti-spam. Am mutat răspunsul la comentarii, dar a avea doar 1 reputație nu este o scuză. Deja ai un flag automat împotriva contului tău din cauza asta

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

Plugin-ul Configure Login Timeout are doar câteva recenzii, unele spunând că a cauzat probleme. Există un alt configure-login-timeout care are de asemenea doar câteva recenzii, dar nu pare să fi fost actualizat de câțiva ani, deci e tot riscant.

O'Rooney O'Rooney
17 nov. 2021 03:20:40
Arată celelalte 1 comentarii
1

Acesta este codul pe care l-am adăugat în tema mea child pentru a menține utilizatorul autentificat timp de 2 săptămâni pe site-ul meu:

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 săptămâni în secunde

}
6 ian. 2022 15:29:58
Comentarii

Dar WEEK_IN_SECONDS reprezintă o săptămână, nu două.

Rup Rup
13 ian. 2022 00:49:05