Archiv verlassen und diese Seite im Standarddesign anzeigen : sessionhash - sessiourl - unterschied und generelle Fragen
Hallo,
ich hoffe das hier ist nicht das falsche Forum...
Aber:
vb3 benutzt sessionhash und sessionurl
Was ist der Unterschied ?
Wozu wird beides benötigt ?
Muss ich bei nonvb Seiten, die mit dem vb-Usermanagement arbeiten die sessionhash noch mit Links übergeben ?
( href=\"index.php?s=$session[sessionhash]\" )
Wär nett wenns da mal ne Info zu geben könnte :)
s.molinari
16.01.2004, 11:40
Hi summsel,
$session[sessionhash] - wird für Post-Daten benutzt, also in Formulare. Und $session[sessionurl] - wird für Get-Daten benutzt, also in URLs.
Scott
anime_layer
16.01.2004, 12:23
Original geschrieben von summsel
Wozu wird beides benötigt ?
Ein einzelner Benützer ist für den Server nicht ganz einfach zu identifizieren. Die IP ist dafür nicht geeignet, da durch Router und Proxies mehrere Benützer hinter einen einzelnen IP stecken können.
Um einem Benutzer bestimmte Informationen zuzuordnen, gibt es hauptsächlich zwei Möglichkeiten:
Cookies: Daten werden auf dem Rechner des Benützers abgelegt.
Sessions: Daten werden auf dem Server abgelegt.
Bei den Cookies indentifiziert sich ein Benützer durch die Bereitstellung der Cookies sozusagen selber. Bei den Sessions muss jeder Benützer aber noch den Informationen zugeordnet werden. Das geschieht über den Session-Hash, eine Zeichenkette, die als temporäre Identifikation dient. Dieser Hash kann auf drei Arten vom Benützer zum Server gelangen: Über Cookies, GET-Daten (also in der URL) oder POST-Daten (über den Header).
Muss ich bei nonvb Seiten, die mit dem vb-Usermanagement arbeiten die sessionhash noch mit Links übergeben ?
( href=\"index.php?s=$session[sessionhash]\" )
Jein. Der Sessionhash dient als Identifikation des Benützers. Wenn dieser Cookies aktiviert hat, wird der Hash als Cookie weitergegeben und in der URL muss man nichts mehr machen. Ansonsten muss der Hash aber in der URL übergeben werden, da sonst der Server den Benützer als neuen Benützer auffasst und somit "ausloggt".
Danke für Eure Antworten !
Aber die sessionhash war bei der Übergabe ja meist leer
( forum/newreply.php?s=&action=newreply ), und trotzdem bin ich nicht ausgeloggt worden ?
(Auch ohne Cookie)
Woran liegt das ?
Oder lag das an einer Art Zeitbegrenzung, das ich weiterhin erkannt werde ?
Und muss ich für vb3 die sessionhash also auch weiterhin mitsenden ?
anime_layer
16.01.2004, 20:51
Original geschrieben von summsel
Aber die sessionhash war bei der Übergabe ja meist leer
( forum/newreply.php?s=&action=newreply ), und trotzdem bin ich nicht ausgeloggt worden ?
(Auch ohne Cookie)
Woran liegt das ?
Dann wird der Hash per Cookie übergeben und der in der URL aus Sicherheitsgründen weggelassen. Aus dieser URL könntest du das "s=" problemlos rauskopieren, ohne das sich was ändern würde.
Stände dort aber "s=345h5lh23j4h5l3h" oder so, dann würdest du nach dem Weglassen ausgeloggt sein.
Und muss ich für vb3 die sessionhash also auch weiterhin mitsenden ? [/B]
Sessionhashs haben nicht sehr viel mit dem Forensystem zu tun. Solange du Benützer ohne Cookies hast, wirst du die Session-Hashs auch über die URL weitergeben müssen.
Den Sessionhash musst du weitergeben. Der unterschied ist halt der, dass in
$session[sessionhash] der reine Sessionhash drin steht. Den brauch man ja z.b. bei Formularen (Hidden Input Fields). Praktisches Beispiel :) :
<input type="hidden" name="s" value="$session[sessionhash]" />
$session[sessionurl] besteht aus
s=$session[sessionhash]& amp;
Sodass man "unschöne" Urls wie index.php?s=&action=blub verhindern kann indem man den link so gestaltet:
index.php?$session[sessionurl]action=blub
Wenn du die sessionurl in javascript benutzen willst nimmst du einfach $session[sessionurl_js]. Da ist einfach statt & amp; ein &.
Die Ordnung ist so:
Als erstes kommt der sessionhash über Post. Ist der leer / nicht vorhanden wird der über Get verwendet. Ist der auch leer / nicht vorhanden dann wird geschaut ob im Cookie einer vorhanden ist.
Wenn in keinen der drei Methoden ein Sessionhash gefunden wird biste halt ein Gast.
1000 Dank !
nu bin ich n bissel schlauer
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.