Variablen funktionieren unter PHP5 nicht mehr

braeschen

Grünschnabel
Hi!

ich habe auf meinem Linux Root Server eine neue PHP version installiert.
Bis jetzt funktioniert soweit alles ganz gut.

Jedoch habe ich Probleme bei einem Formular. Die Daten des Formulars werden per
POST übertragen.

wenn ich jedoch eine Variable übertrage die wie folgt aufgebaut ist, funktioniert das Übertragen der Daten nicht mehr. Also $_POST ist komplett leer.

Jemand eine Idee?

<input type="hidden" name="id[6]">
<input type="hidden" name="id[8]">
<input type="hidden" name="id[7]">

PHP version:
PHP Version 5.0.3
Linux 2.6.9-023stab043.3-smp #1 SMP Thu Apr 19 10:35:07 MSD 2007 i686
 
Einstellung zu register_globals?

Außerdem würde ich dir raten, noch höher zu upgraden, da PHP 5.0.3 einiger Sicherheitslücken hatte. Bzw. generell die Versionen unter 5.2.2.
 
globals bereits auf on.

leider habe ich im yast nur diese version zur verfügung... Updates sind elider nicht verfügbar
 
Aus Sicherheitsgründen.

Darauf wird auch im Link drauf eingegangen.

php.net hat gesagt.:
Ein Feature von PHP zur Erhöhung der Sicherheit ist die Konfiguration von PHP mit register_globals = off. Mit Deaktivierung der Möglichkeit, irgendeine vom Benutzer übertragenen Variable in den PHP Code zu injizieren, können Sie die Anzahl "vergifteter" Variablen reduzieren, welche ein potentieller Angreifer zufügen könnte. Dieser benötigt mehr Zeit, um sich Übermittlungen auszudenken, und Ihre internen Variablen sind effektiv von den übergebenen Benutzervariablen isoliert.

Während dies den benötigten Aufwand mit PHP zu arbeiten leicht erhöht ist dargelegt, dass die Vorteile gegenüber dem Aufwand klar überwiegen.
 
Ich rate es dir wirklich.

PHP hat mittlerweile standardmäßig IMMER register_globals AUS.

Und unnötig schwer machst du dir das Leben selbst, wenn du soetwas nicht bedenkst und dein Server irgendwann durch eine Übernahme zum OpenRelay wird oder in einem Botnetzwerk landet. Und du bist trotzdem dafür verantwortlich, völlig egal, wer den gehackt hat.
 
Ja, wenn du deine Sicherheit nicht willst und haftbar gemacht werden willst, machst du folgendes

aus deinem $_POST['tag']; wird $tag;

fertig
 
Zurück