Session-ID nicht an URL anhängen

Also kommt drauf an was du mit der Session vorhast.

Also für eine begrenzte Session-Zeit braucht man keine Db dazu (auch wenn Session ohne Cookie)

Sprich wenn du das für ein loginsystem brauchst, brauchst du keine Db; kannst auch einfach eine abfrage nach der $_SESSION['xy'] machen.
Bsp:
PHP:
if (isset($_SESSION['logged_in']))
{
//geh weida
}
else
{
// na du neda
}

Wenn die vorhanden ist geht's im login weiter.
Ob die Session nun vom Cookie oder URL kommt spielt ja dabei keine Rolle.

Wenn du die Session immer mit der DB abgleichen willst, dann ist es ebenfalls egal ob die Session im Cookie ist oder mit der URL kommt.
Nur sie muss entweder von COOKIE oder URL kommen soweit ich weiß. Es gibt keine andere Möglichkeit, weil sie ja irgendwie übergeben werden muss an das nächste Script
 
Zuletzt bearbeitet von einem Moderator:
Wie gesagt mein System soll sich ja merken wer sich angemeldet hat und da ist es bei mir üblich das ich die Sessions in die Datenbank des Benutzers speichere!

Nur wenn ich wie gesagt die session nicht in die DB speichere weiss ja mein system nicht wer der jeweilige Besucher ist!

Nur möchte ich auch allerdings verhindern das egal ob ich sid=$sid an die URL hänge das keine Session-ID vergeben wird sondern nur bei den Besuchern für den Fall das sie sich einloggen wollen!

Zumal ich auch das Session-Scripting unterbinden möchte daher wer ich sehr zufrieden wenn mir da einer sagen könnte wie ich die Session verstecke um einen missbrauch des Accounts ausschliessen zu können.
 
Du ignorierst geschickt die Beiträge der anderen; echt gut. Es haben dir schon ein paar leute geschrieben dass die session entweder mit der URL oder mit einem COOKIE übergeben wird.

Es gibt wohl keine andere Möglichkeit und gegen Session-Scripting gibts andere Möglichkeiten das zu unterbinden....
 
Hallo!
Nur möchte ich auch allerdings verhindern das egal ob ich sid=$sid an die URL hänge das keine Session-ID vergeben wird sondern nur bei den Besuchern für den Fall das sie sich einloggen wollen!
Dann starte die Session doch erst nach erfolgreichem Login.

Kommt ein User auf die Seite, wird keine Session gestartet.
Gibt er seine Benutzerdaten ein, wird die Datenbank logischerweise auch abgefragt.
Gibt die Datenbank ein TRUE zurück (die Benutzerdaten stimmen also), dann wird die Session gestartet und in die Datenbank eingetragen.
Auf den Folgeseiten wird nun zuerst immer geprüft ob die Session in der Datenbank steht.
Erst dann erfolgt der Rest.

Ob der User Session-Cookies akzeptiert, kannst Du mit einem ganz normalen Coockie testen.
Lege ein Cookie mit irgend einem Inhalt an und prüfe ob Du den Inhalt zurücklesen kannst.
Wenn ja, dann akzeptiert der User Coockies (auch Session-Cookies).
In dem Fall kannst Du die Session also transparent übertragen.
Akzeptiert der User jedoch keine Cookies, musst Du die Session-ID an die URL hängen.

Gruss Dr Dau
 
Wenn ein Client einen Cookie in der Anfrage an den Server schickt, heißt das nicht zwangsläufig, dass er auch neue Cookies akzeptiert. Denn dieser Zustand kann sich von einer Anfrage zur nächsten Verändern, da der Benutzer beispielsweise die Webbrowser-Einstellungen geändert hat.
 
Ich würde da eh kein Theater drum machen.
Ein Hinweis am Loginformular, dass Cookies von der entsprechenden Seite akzeptiert werden müssen, sollte langen.
Wer der Meinung ist mir nicht vertrauen zu können, der braucht sich dann auch erst garnicht zu registrieren. ;)
Und wer meint er müsste mitendrin doch den Cookie ablehnen, der wird halt "von Amts wegen ausgelogt". :p
 
Zurück