Unde este stocată sesiunea în WordPress?

11 apr. 2015, 19:47:18
Vizualizări: 19K
Voturi: 2

Am nevoie să pot valida integritatea sesiunii dintr-o aplicație externă. Nu găsesc unde este stocată sesiunea în WordPress?

Am construit o aplicație RESTful care va primi token-ul de sesiune ca header și aș dori să pot încărca utilizatorul asociat acelei sesiuni. Este posibil? Sunt sigur că da, dar nu găsesc informații nicăieri. Am încercat să caut în cod, dar mă pierd repede.. Poate cineva să mă îndrepte cel puțin către tabelul în care ar trebui să caut?

0
Toate răspunsurile la întrebare 2
1

Cum WordPress stochează cookie-urile (pe partea de client, așa cum a menționat @birgire): https://codex.wordpress.org/WordPress_Cookies

Mă îndoiesc că acest lucru va funcționa vreodată de pe un subdomeniu separat, deoarece domeniul cookie-ului este de obicei complet calificat pentru siteurl-ul WordPress (cineva este liber să mă corecteze dacă greșesc).

Dacă ai face acest lucru cu o altă aplicație pe același domeniu, ar trebui să utilizezi funcția wp_validate_auth_cookie() (din wp-includes/pluggable.php) - care verifică $_COOKIES, generează un hash din înregistrarea utilizatorului din baza de date și verifică dacă se potrivește cu cookie-ul. Dacă se potrivește, vei primi înapoi ID-ul utilizatorului.

11 apr. 2015 20:59:36
Comentarii

Poate constanta COOKIE_DOMAIN este utilă aici?

birgire birgire
13 apr. 2015 03:19:22
3

Sesiunile WordPress sunt stocate conform setărilor PHP, implicit în sistemul de fișiere. Verifică fișierul PHP.ini pentru setarea session.save_path. Este important de menționat că WordPress nu creează o sesiune decât dacă utilizatorul se autentifică.

Presupunând că aplicația ta "externă" rulează pe același server și utilizează PHP, poți pur și simplu să deschizi aceeași sesiune folosind:

session_id($session_token);
session_start();
11 apr. 2015 20:00:35
Comentarii

Din câte știu eu, WordPress nu stochează sesiuni pe partea de server pentru utilizatorii autentificați, ci folosește cookie-uri pe partea de client. Poți să elaborezi?

birgire birgire
11 apr. 2015 20:20:35

Este pe același server, subdomenii diferite. Cum mi-ar permite asta să încărc sesiunea? Mulțumesc pentru răspuns.

Dude from ticketing world Dude from ticketing world
11 apr. 2015 20:20:45

@birgire Și eu am aflat asta. Dar după răspunsul lui Oliver, am rămas cu îndoieli. +1 pentru comentariul tău.

Mayeenul Islam Mayeenul Islam
12 apr. 2015 06:41:53