Sven Rautenberg: hilfe - gibts das?? login-scripts...

Beitrag lesen

Moin!

if($logged_in == 1)
{
}

if ($var=="login")
{
}

da macht er folgende error-meldungen:

Notice: Undefined variable: logged_in in c:\inetpub\wwwroot\php\login.php on line 3

Notice: Undefined variable: var in c:\inetpub\wwwroot\php\login.php on line 12

Die Lösung ist simpel: Du erhälst zwei _Hinweise_, dass du an den benannten Stellen zwei Variablen verwendest, die zuvor nicht definiert wurden.

Das ist in der Hinsicht unschön, als PHP zwar für undefinierte Werte den Leerstring oder Null annimmt, aber an dieser Stelle ein Angreifer vielleicht auch (register_globals = on vorausgesetzt) Werte ins Skript einschmuggeln könnte.

Deshalb: Prüfe zuerst, ob die Variablen existieren, und vergleiche dann.

if (isset($logged_in) && ($logged_in=1))

if (isset($var) && ($var == "login"))

- 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>)