molily: register_globals = on -->Nachreile

Beitrag lesen

Hallo, Sven,

$HTTP_POST_VARS fliegt in Zukunft (Version 4.3) raus.
Was, wieso das denn?

Willst du aus einer Unterfunktion auf das Array zugreifen, musst du es innerhalb der Funktion mit global $HTTP_*_VARS erst bekannt machen.

Das war mir bekannt und so bin ich auch immer vorgegangen.

Die neuen Arrays $_* sind superglobal. Man kann aus jedem Kontext heraus auf sie zugreifen, auch innerhalb von Funktionen, ohne die Arrays erst bekannt machen zu müssen.

Aha, das war mir neu. Hat das nur positive Auswirkungen auf die Einfachheit der Verwendung der GPC- und Umgebungsvariablen oder hat das Sicherheitsgründe?

Insofern unterscheiden sich die beiden Arrays schon in ihrer Funktion (wenngleich der Unterschied meist kaum zum Tragen kommt).

Und wieso fliegt $HTTP_POST_VARS heraus (meine ursprüngliche Frage)? Ich finde nur: "(...) Damit sind die alten, beziehungsweise die  $HTTP_*_VARS Arrays veraltet." - Wieso muss ich meine Skripte zwangsweise auf $_* anpassen? Bei register_globals war mir das bewusst, aber ich sehe keinen Zuwachs an Sicherheit bei $_*, nur die Verwendung ist komfortabler (weil "chaotischer").

Grüße,
Mathias