Tom: Verlässliche Aussage zu Predefined Variables gesucht

Beitrag lesen

Hello,

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

Stimmt :-)

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.

Diese initialisiert aber das System, nicht der Programmierer.

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.

Die Frage kam auf, weil ich mir etliche Uploadscripte angeschaut habe in den letzten Wochen, um die typischen Fehler zu finden. Diese Möglichkeit hatte ich noch nicht ausgeschlossen, auch wenn ich nicht daran geglaubt habe :-)

Es gibt da wirklich ganz pfiffige Sachen und auch ganz grausame ;-)

Da die meisten aber nicht wirklich dokumentiert sind, weiß man selten, welche Gedanken dem Programmierer im Kopf herumgegangen sind, oder ob es nur "zufällig sicher" ist.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de