Problem mit ini_set() bei meinem ISP

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    dass ein ini_set() mit magic_quotes auf off ein stripslashes() auf GET und POST nach sich zieht
    Nöö.. ist nicht zu erwarten!

    Irgend wann einmal habe ich mir eine Funktion
    gebastelt um so dusselige Servereinstellungen zu
    korrigieren. Nagut die $_FILES Abhandlung fehl noch.
    Und das Unterschieben von globalen Arrays tuts auch
    nur bei ganz alten PHP4 Versionen. Kannst ja mal einen Blick drüber werfen
    PHP-Code:

    function array_stripslashes(&$var// helper Funktion
    // in einem Tutorial gefunden
        
    if(is_string($var)) 
        {
            
    $var stripslashes($var);
        } else 
        {
            if(
    is_array($var)) 
            {
                foreach(
    $var as $key => $value
                {
                    
    array_stripslashes($var[$key]);
                }
            }
        }
    }


    function 
    leben_mit_unguten_einstellungen()
    {
      static 
    $once FALSE;
      if (
    $once) return; // einmal reicht
      
    $once TRUE
      
      
    // testen, ob uns einer ein superglobales Array unterschieben will
      
    $kill_list '_POST|_SERVER|_GET|_FILES|_SESSION|_ENV';
      
    $kill_list .= '|_COOKIE|GLOBALS|_REQUEST';
      foreach(
    explode('|',$kill_list) as $kill)
      {
        if (isset(
    $_REQUEST[$kill])) die('Error: Bad Params');
      } 
      
      
    // magic_quotes rückgängig machen
      
    ini_set('magic_quotes_runtime'0);
      
    ini_set('magic_quotes_sybase'0);
      if(
    get_magic_quotes_gpc()) 
      {
        
    ini_set('magic_quotes_gpc'0);
        
    array_stripslashes($_GET);
        
    array_stripslashes($_POST);
        
    array_stripslashes($_COOKIE);
      }
      
      
    // register_globals=on rückgängig machen 
      
    $del_list '_SERVER|_SESSION|_ENV|_REQUEST|_COOKIE';
      if (
    ini_get('register_globals')) 
      {
        
    ini_set('register_globals'0);
        foreach(
    explode('|',$del_list) as $superarray)
        {
          if (isset(
    $GLOBALS[$superarray]))
          {     
            foreach(
    $GLOBALS[$superarray] as $key=>$value)
            { 
              
    $GLOBALS[$key] = NULL
              unset(
    $GLOBALS[$key]);
            }
          } 
        }
      }
    }

    leben_mit_unguten_einstellungen(); 
    Wir werden alle sterben

    Kommentar

    Lädt...
    X