Hi!
Warum nimmst du nicht empty()?
Das ist in diesem Fall tatsächlich zu überlegen, da hier ja keine Leerzeichen oder 0 als Inhalt zulässig sind. Es ist auch sprachlich "selbstdokumentierender".
Leerstring, nicht Leerzeichen. Letztere wären nicht empty().
Bleibt nur noch die Frage, welche Injection noch möglich wäre, wenn Register_Globals noch eingeschaltet ist.
Keine, wenn du deine Variablen immer schön initialisierst.
Könnte man z.B $_FILES dann von außen einschleusen?
Nein, die vordefinierten Arrays werden damit nicht überschrieben. Diesen Bug hat man schon vor langer Zeit entfernt. Wenn du willst, kannst du die Namen dieser Arrays auf Existenz in $_REQUEST[...] abfragen, dann war das ein misslungener Versuch der Einschleusung.
Lo!