Sven Rautenberg: +apache: Datenübergabe funktioniert nicht?

Beitrag lesen

Moin!

$nummer = $_POST["nummer"];
Bitte??? soll ich jetzt alle meine Scripte umschreiben?
Ich habe nicht nur dieses Testscript, sondern z.B. einen funktionierenden online-shop mit Redaktionssystem.

Ja, sollst du. Hättest du es man gleich schon so gemacht, wie seit einiger Zeit von PHP vorgeschlagen. Mindestens seit PHP Version 4.1 gibt es die Arrays $_POST etc, und auch der Hinweis, dass in neueren Versionen aus Sicherheitsgründen register_globals=off geschaltet ist, sollte mittlerweile ziemlich häufig auch in diesem Forum zu lesen gewesen sein. Dass du dir auf diese Weise einige Sicherheitslücken eingebaut haben könntest, ist dir hoffentlich klar. Ich verweise zu Erklärungszwecken nur auf http://forum.de.selfhtml.org/archiv/2002/6/15268/#m85650 (und den Thread insgesamt), um zu zeigen, an was man alles denken muß, wenn man programmiert.

Das Problem ist immer, dass mit register_globals=on der Benutzer Variablen im Skript erzeugen kann, die später unter Umständen nicht initialisiert werden, und dann vorbelegt durch den Angreifer im weiteren Verlauf des Skriptes verwendet werden - was unter Umständen verheerende Auswirkungen haben kann. Man _kann_ auch mit register_globals=on sichere PHP-Skripte programmieren, aber es ist deutlich aufwendiger.

- Sven Rautenberg