Variablen und GET

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Variablen und GET

    Hallo!

    Ich habe folgendes festgestellt:
    Wenn ich ein Array habe, z.B. $buchstaben, und darin Werte speicher und diese Ausgebe, dann kann ich durch datei.php?buchstaben=<irgendein text> das Array überschreiben und erhalte nicht meine originale Ausgabe.

    Kennt ihr dies auch? Mir ist das noch nie aufgefallen, aber es hat Fehler erzeugt.

    Grüße,
    Max123


    edit

    Beispiel

    file.php:

    Quellcode

    1. <?
    2. print '<pre>';
    3. print_r($_GET);
    4. print '<p>&nbsp;</p>';
    5. print_r($test);
    6. print '</pre>';
    7. ?>

    erzeugt bei Aufrufen der URL
    file.php?test[1]=asd&test[2]=etr
    diese Ausgabe:

    Quellcode

    1. Array
    2. (
    3. [test] => Array
    4. (
    5. [1] => asd
    6. [2] => etr
    7. )
    8. )
    9. Array
    10. (
    11. [1] => asd
    12. [2] => etr
    13. )
    Alles anzeigen
  • hi,

    das liegt an der php konfiguration.
    Frag deinen Hoster mal, ob er die Variable für dich auf off setzen kann.
    Seit php 4.3 ist diese Variable normalerweise deaktiviert.

    http://de.php.net/register_globals
    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.