Mailinglisten-Archive | 
Tobias Ratschiller schrieb:
> 
> > In dem Zusammenhang stellt sich mir die Frage, wie ich sicher erfahre,
> > ob eine globale Variable aus einem Cookie stammt oder aus einer normalen
> > Get-Variablen. Mit $HTTP_COOKIE_VARS wäre das überprüfbar, aber mach mal
> > folgendes
> >
> > www.domain.tld?$HTTP_COOKIE_VARS=nix
> > und wech ist das Cookie-Array.
> 
> Das führte in irgendeiner Version zum Absturz, wenn ich mich recht erinnere.
> Das ist ein Bug. Diese Arrays sollten auch nicht von außen überschreibbar
> sein, falls sie das sind, ist es ein Bug. Ändert aber nichts an der
> Sinnhaftigkeit von $HTTP_[COOKIE|GET|POST|SERVER|STATE]_VARS,
> variables_order, und register_globals (ok, über letzteres läßt sich
> streiten).
Es war in der Mail das "$" zuviel.
 www.domain.tld?HTTP_COOKIE_VARS=nix
überschreibt mit tödlicher Sicherheit das Array.
1. "normal":
http://test/_sessiontest/httpcookievars.php
<?php
SetCookie("testcookie", "identifier", 0); 
reset($HTTP_COOKIE_VARS);
while (list ( $k,$v)=each ($HTTP_COOKIE_VARS))
{echo "<br>$k = $v";}
Cookie wird gesetzt. Ergebnis:  
 
 testcookie = identifier
2. "Hack-Version":
http://test/_sessiontest/httpcookievars.php?HTTP_COOKIE_VARS=nix
Cookie wird gesetzt. Ergebnis:  
 Warning: Variable passed to reset() is not an array or object in 
d:\www\test\_sessiontest\httpcookievars.php on line 4
 Warning: Variable passed to each() is not an array or object in 
d:\www\test\_sessiontest\httpcookievars.php on line 5
Wat nu? Bug reporten?
mit freundlichen Grüßen, 
oK.
    php::bar PHP Wiki - Listenarchive