phpbar.de logo

Mailinglisten-Archive

[php] Session: "?SID"-Rewrite unterbinden?

[php] Session: "?SID"-Rewrite unterbinden?

Garvin Hicking garvin_(at)_atrava.de
29 Jan 2001 09:01:00 +0100


Hi!


Ich habe ein größeres Problem bei einer Seite mit Sessions (PHP4.0.3pl1),  
die Fehler verursacht wenn sie im IE zum ersten Mal aufgerufen wird.

Hier ein Code-Fragment:

-------DATEI 1-----------
<?PHP
unset($user);
session_start();
?>

<script>
arMenu1_6 = new Array(
"<a
   href=\"#\"
   style=\"text-decoration:none;\"
   class=\"dhtml\"
   onclick=\"javascript: fenster = window.open(\'tarifvergleich.php?netz=1\', \'tarifvergleich\',\'toolbar=no\'); fenster.focus();\"
  >
   D1 Netz
  </A>","",0
)
</script>
------ENDE DATEI 1------

Dies wird beim ersten Aufruf durch einen Browser (IE oder Netscape egal)  
wie folgt umgesetzt:

-------HTML-DATEI-------
<script>
arMenu1_6 = new Array(
"<a
   href="\?SID=6d56826e9104036bb7e9971877d77e88""#\"
   style="\""text-decoration:none;\"
   class="\""dhtml\"
   onclick="\""javascript: fenster = "window.open(\'tarifvergleich.php?netz=1\'," \'tarifvergleich\',\'toolbar="no\');" fenster.focus();\"
  >
   D1 Netz
  </A>","",0
)
</script>
-------ENDE HTML-DATEI-----


Wie man also sieht, hat er so ziemlich alles an Escapten- und nicht  
escapten Anführungszeichen falsch gemacht, und auch die SID vollkommen  
komisch eingefügt.

Woran liegt es nun überhaupt, daß PHP nur beim ersten Aufruf der Seite  
dieses ?SID anhängt? Sobald die Seite nochmal geladen wird, erscheint das  
nicht mehr. Hängt vermutlich mit einem gesetzten Cookie durch die Sessions  
zusammen, oder? Kann ich das verhindern?

Hier die interessanten Stellen aus meiner PHP.INI:

output_buffering = On
safe_mode = Off
magic_quotes_gpc = On
magic_quotes_runtime = Off
[Session]
session.save_handler = files
session.save_path = /tmp
session.use_cookies = 1
session.name = SID
session.auto_start = 0
session.cookie_lifetime = 1440
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_maxlifetime = 1440
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 60
session.use_trans_sid = 1

PHP wurde mit Trans-SID kompiliert.

Irgendwie muß es doch möglich sein, mit PHP Links auf ein "#" zu machen,  
ohne das es mir da die Session-ID dranschmeißen will, oder nicht?

Vielen Dank schonmal!

-- 
Bye                   .:~~[  Atrava Design & Computer  ]~~:.
                      |   Garvin Hicking - ICQ 21392242    |
 Garvin.              `....[   http://www.atrava.de/  ]....'



php::bar PHP Wiki   -   Listenarchive