phpbar.de logo

Mailinglisten-Archive

[php] Session-ID-Blues

[php] Session-ID-Blues

Sascha Schumann sascha_(at)_schumann.cx
Sun, 18 Jul 1999 00:24:07 +0200


On Sat, Jul 17, 1999 at 11:45:30PM +0100, Wolfgang Huebner wrote:
> Hi,
> 
> ich muß Session-IDs durch ein Webangebot mitschleppen und zwar nicht nur
> über Formulare mit post vars, sondern auch über normale Links. Zur Zeit
> also:
> <a href="einlink.php3?session=<?echo $sid;?>">
> Das wäre soweit auch akzeptabel, weil die ID mit md5 und uniqid IMHO nicht
> so einfach zu knacken ist. Aber wenn jemand diese Seiten verlässt, bekommt
> der nächste Server die Session-ID als Referer mit. <schluck>. Die Sessions
> werden nach 2 Stunden Untätigkeit zwar automatisch ungültig, aber wenn
> jemand währenddessen in sein Serverlog schaut, kann er die Session ohne
> Probleme übernehmen. :-(
> Mir fällt momentan keine Lösung ein, kann mir aber vorstellen, daß ich nicht
> der erste mit dem Problem bin.... jemand eine Idee?

Das wurde auf der PHPLIB Liste einige Male diskutiert. Soweit ich
weiß, gibt es keine Möglichkeit, die Session ID aus dem Referer
für den User transparent zu entfernen. Wir haben mal testweise
ein "wipeout" Skript implementiert, dem die Target URL per query
Parameter übergeben wird und dann per 302 Redirect auf die Target
URL umleitet. Dabei zeigte sich jedoch, daß zumindest Netscape
den Referer nicht ändert, sondern beibehält (und damit die
Session ID weitergibt).

Eine Alternative dazu ist ein Skript wie das folgende

-------------redir.php-------------------------------------------

<meta http-equiv="refresh" content="<? echo $url; ?>">

Falls Ihr Browser Sie nicht automatisch umleitet,
<a href="<?echo $url?>">klicken Sie bitte hier</a>.

-----------------------------------------------------------------

Dieses kann einfach per 

    redir.php?url=<ziel-url>

aufgerufen werden.

-- 

          Regards,

                            Sascha Schumann
                                 Consultant


php::bar PHP Wiki   -   Listenarchive