sessions
no reg
- php
guten Abend.
Ich habe ein (Bestell-)Formular, in welchem eine $_SESSION["bestellung"] erstellt wird.
Da ich in Sachen php nicht sehr bewandert bin, habe ich nun Zweifel, ob es hier nicht vielleicht zu "Konflikten" kommen kann.
Bisher hatte ich es so verstanden, dass jede session durch session_start() eine eigene id bekommt, sprich ich bin davon ausgegangen, dass selbst wenn zwei user zeitgleich das Bestellformular verwenden, also zeitgleich eine $_SESSION["bestellung"] erzeugen, diese trotz des identischen Namens durch die id exakt zugewiesen werden kann.
Ist diese Annahme richtig oder ist mir ein beispielhafter Anfängerfehler unterlaufen. Kann es passieren, das der eine User dem anderen die session "überschreibt"?
Zur Info: ich verwende lediglich die Befehle session_start(), ..unset() und ..destroy().
Herzlichen Dank für alle konstruktiven Beiträge!
Schönes Wochenende!
hi,
Bisher hatte ich es so verstanden, dass jede session durch session_start() eine eigene id bekommt,
session_start macht zwei Dinge:
Wenn vom Client eine Session-ID übergeben wurde - per Cookie, oder als GET-Parameter - dann nimmt es die zu dieser gehörende Session wieder auf, die zuvor reingeschriebenen Daten werden dann wieder zur Verfügung gestellt.
Im anderen Falle, wenn keine ID übergeben wurde - dann erzeugt es eine neue solche, und damit eine neue Session.
sprich ich bin davon ausgegangen, dass selbst wenn zwei user zeitgleich das Bestellformular verwenden, also zeitgleich eine $_SESSION["bestellung"] erzeugen, diese trotz des identischen Namens durch die id exakt zugewiesen werden kann.
Richtig, die Zuordnung der Daten zu einem bestimmten Client geschieht durch die Session-ID.
Konflikte könnte es da nur geben, wenn zwei Clients die gleiche Session-ID übergeben würden - dann würden beiden die selben Daten zugeordnet.
Die Erstellung der Session-ID ist aber hinreichend zufällig, dass man diesen Fall unter normalen Bedingungen als nahezu ausgeschlossen betrachten kann.
Ein anderes Thema ist Session-Klau - wenn jemand an meine Session-ID herankommt, kann er sich gegenüber dem Server als "ich", als mein Client ausgeben. Die ID zu erraten ist auch nahezu unmöglich auf Grund der Zufälligkeit, siehe oben - lediglich ein echter "Klau" könnte ein Problem darstellen. Also wenn ich bspw. unvorsichtigerweise einen URL, der die Session-ID als GET-Parameter enthält, weitergebe, oder auch wenn ein solcher als Referrer an von externen Domains eingebundene Ressourcen weitergegeben wird.
gruß,
wahsaga
guten Abend.
Herzlichen Dank für die rasche, ausführliche Antwort. Dann scheint bei mir ja alles in Ordnung zu sein.
tschüss.