3 Stimmen

Auf Sitzungsdaten zugreifen unter Verwendung des PHPSESSID-Werts

Ich implementiere einen Web-Socket-Server in PHP für mein Projekt. Wenn ein Benutzer eine Websocket-Verbindung herstellt, wird er den PHPSESSID-Cookie in den Anforderungsheadern an die Webserverseite senden. Ich möchte Sitzungsdaten für jeden Benutzer anhand ihres PHPSESSID-Cookie-Werts abrufen. Diese Serverseite kann den Sitzungswert nicht einfach mit $_SESSION['name'] abrufen

Für jede eingehende Socket-Verbindung hole ich PHPSESSID

$cookie = handshake($header, $socket_new, $host, $port);

Hier wird die Handshake-Funktion den PHPSESSID-Cookie zurückgeben.

session_id($cookie);
session_start();
$username = $_SESSION['name'];

Für jede WebSocket-Verbindung erhalte ich das richtige Cookie, aber $username nur für die erste Verbindung. Diese PHP-Datei läuft im Hintergrund und ich muss Benutzer anhand ihres Cookies authentifizieren, aber es scheint, dass session_id($cookie); nur einmal gesetzt wird. Gibt es einen Weg, um Sitzungsdaten für verschiedene PHPSESSID-Werte auf dieser einzelnen Seite abzurufen.

1voto

Vinit Chouhan Punkte 686

Wie @grossvogel bereits erwähnt hat, ermöglicht es mir die Verwendung der session_write_close()-Funktion kurz vor der session_id()-Funktion, Werte für verschiedene Sitzungen mithilfe des PHPSESSID-Cookies abzurufen. Jetzt kann ich verschiedene Sitzungen innerhalb einer einzigen Seite verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X