Sven Rautenberg: PHPSESSID= wird zig mal an die URL angehängt.

Beitrag lesen

Moin!

Dazu benutze ich eine weitere php Funktion:

$this->sessionID = session_id(SID);

Aha, da haben wir den Übeltäter.

In der Konstanten SID steht folgendes drin:

1. Wenn PHP die Session-ID per Cookie übermittelt bekommen hat, steht nichts drin.
2. Wenn kein Cookie festgestellt werden konnte, steht folgender Text drin: "sessionname=sessionid".

Diese Konstante SID kann man direkt in Links einbauen:
echo "<a href="/irgendein/link.php?".SID."">Link</a>";

Du setzt jetzt aber die Session-ID immer neu mit der Funktion session_id(). Diese Funktion gibt die derzeit aktuelle Session-ID zurück, wenn _kein_ Parameter übergeben wird. Sie setzt die Session-ID auf den übergebenen Wert, _wenn_ ein Parameter übergeben wird.

Du übergibst einen Parameter. Nämlich im ersten Schritt "sessionname=sessionid". Das setzt die Session-ID, und SID wird zu "sessionname=" + Wert von session_id(), also "sessionname=sessionname=sessionid".

Und so geht es dann rekursiv immer weiter:
"sessionname=sessionname=sessionid"
"sessionname=sessionname=sessionname=sessionid"
"sessionname=sessionname=sessionname=sessionname=sessionid"
"sessionname=sessionname=sessionname=sessionname=sessionname=sessionid"

Abhilfe: Einfach nur session_id() ohne Parameter aufrufen.

- Sven Rautenberg

--
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)