Ergebnis 1 bis 4 von 4

Thema: VMS1.2 $_POST array nicht rekursiv

  1. #1
    Neuer Benutzer
    Registriert seit
    06.08.2006
    Beiträge
    22

    VMS1.2 $_POST array nicht rekursiv

    Hay,

    da ich gerade meine scripte umstelle ist mir aufgefallen das $_POST Variablen nicht rekursiv übergeben werden.

    Beispiel:

    ausgabe von print_r($_POST)

    so soll es aussehen:
    Code:
    Array
    (
        [min] => 1000
        [max] => 1000000
        [win] => Array
            (
                [1] => 10.00
                [2] => 8.00
                [3] => 6.00
                [4] => 2.50
                [5] => 2.50
                [6] => 2.50
                [7] => 4.00
                [8] => 1.80
                [9] => 1.80
                [10] => 1.80
            )
    
        [go] => save
    )
    so kommt es aber an:

    Code:
    Array
    (
        [min] => 1000
        [max] => 1000000
        [win] => Array
        [go] => save
    )

    gruß
    djghost2001

  2. #2
    Neuer Benutzer
    Registriert seit
    06.08.2006
    Beiträge
    22
    hab mich jetzt so beholfen:

    Datei extras.lib.php folgendes ersetzt:

    Code:
    // Funktion zum Variablen absichern !
    function extra_securevars ($value, $name, $art) {
    global $GLOBALS;
    	// magic_quotes = on?
    	if (get_magic_quotes_gpc ()) $value = stripslashes ($value);
    	if ($art == 'GET') $_GET[$name] = $value;
    	elseif ($art == 'POST') $_POST[$name] = $value;
    	elseif ($art == 'COOKIE') $_COOKIE[$name] = $value;
    	elseif ($art == 'SERVER') $_SERVER[$name] = $value;
    	elseif ($art == 'SESSION') $_SESSION[$name] = $value;
    	else die ('Fehler in der Variablenabsicherungsfunktion!');
    }
    durch:

    Code:
    // Funktion zum Variablen absichern !
    function extra_securevars($array){
    global $GLOBALS;
       foreach($array as $key=>$value) {
          if(is_array($array[$key])) {
              $result[$key] = extra_securevars($array[$key]);
          }
          else{
             if (get_magic_quotes_gpc ()) $result[$key] = stripslashes ($value);
             else $result[$key] = $value;
          }
       }
    return $result;
    }

    Datei extras.init.php folgendes ersetzt:

    Code:
    array_walk($_GET, 'extra_securevars', 'GET');
    array_walk($_POST, 'extra_securevars', 'POST');
    array_walk($_SERVER, 'extra_securevars', 'SERVER');
    if (count ($_SESSION) > 0) array_walk($_SESSION, 'extra_securevars', 'SESSION');

    durch:

    Code:
    $_GET = extra_securevars($_GET);
    $_POST = extra_securevars($_POST);
    $_SERVER = extra_securevars($_SERVER);
    if (count ($_SESSION) > 0) $_SESSION = extra_securevars($_SESSION);
    bitte aber trotzdem um bugfix, von mir aus auch mit meiner lösung
    Resultat (secure) ist das selbe wie vorher, nur das die arrays auch rekursiv durchgegangen werden.

    gruß
    djghost2001

  3. #3
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Vielen Dank, werde deinen bugfix nehmen da dies imho die beste Lösung ist. Werde es die Tage ins VMS einbauen.
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  4. #4
    Neuer Benutzer
    Registriert seit
    06.08.2006
    Beiträge
    22
    wie gesagt kanst du gerne machen.
    hätte ich bei meinem keno die variablen nicht rekursiv über mehrere ebenen übergeben wäre es mir auch nicht aufgefallen

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 18.05.2020, 14:55
  2. alphahosten und vms1.2.3 geht nicht
    Von klick-power im Forum Support zum VMSone
    Antworten: 4
    Letzter Beitrag: 24.04.2016, 12:01
  3. Antworten: 3
    Letzter Beitrag: 22.05.2014, 15:16
  4. Antworten: 4
    Letzter Beitrag: 30.12.2007, 17:34
  5. interface fragt nicht an...vms1.2
    Von didith1207 im Forum Support zum VMSone
    Antworten: 10
    Letzter Beitrag: 21.10.2007, 15:55

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •