Moses: Verständinsfrage $_GET /$_Post Globals on oder off

Beitrag lesen

Moin, moin,

Mahlzeit,

Habe eine variable $a

WO hast Du die?

In meinem Script ich will ja irgendwas mit $a machen - sonst bräuchte ich die nicht

Genau darum geht's: dass niemand Deine Variablen "von außen" manipulieren kann, sondern Du stattdessen die Werte explizit aus den genannten Arrays "abholen" musst (und sie dabei natürlich auf Gültigkeit usw. prüfen solltest).

Wenn "Globals = On" gesetzt ist, hättest Du, wenn Du z.B. einen URL-Parameter wie "?a=foobar" an Dein Skript anhängst, automagisch eine mit dem String "foobar" gefüllte Variable $a zur Verfügung. Das Problem daran ist, dass man damit beliebe Inhalte in Dein Skript einschleusen könnte, wenn Du Deine Variablen vor der ersten Benutzung nicht initialisierst.

ok hänge "?a=foobar" an

ob $a sofort verfügbar ist, oder erst "abgeholt" werden muß ändert doch nichts am Inhalt von $a? Sprich die Variale ist genauso beliebig von außen manipulierbar: wenn ich jetzt böswillig "?a=<script>lösche Datenbank</script>" anhänge passiert das gleiche ob GLobals on oder Off gesetzt sind. Entweder ich überprüfe die Variable vor Gebrauch oder nicht (dann ist's blöd gelaufen) aber ob die Variable sofort zur Verfügung steht oder aus dem Array abgeholt werden muß macht doch keinen Unterschied - sorry ich peil's einfach nicht.

Grüße,
Moses