kostenloser Webspace werbefrei: lima-city


Funktion zur sicheren Variable Übergabe

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    osuche

    osuche hat kostenlosen Webspace.

    Hallo

    ich suche eine Funktion, um Variablen die per _GET oder _POST übergeben werden
    vor der weiter-Verarbeitung zu filtern, um Fehler auszuschließen und Angriffe abzuwehren

    ich stelle mir das so vor:
    if (!empty($_REQUEST['variable'])) { 
    $ok_variable = filter_request($_REQUEST['variable'], true, '0-9'); 
    }

    um dann mit $ok_variable weiter im Script zu arbeiten

    als Funktion filter_request() etwa so:
    function filter_request ($var, $tags=true, $erlaubt='A-Za-z0-9_-') { 
    
    // ---- immer anwenden --- 
    $var = trim(chop($var)); 
    $var = stripslashes($var); 
    $var = html_entity_decode($var); 
    
    // ---- Optional anwenden --- 
    if ($tags === false) { $var = strip_tags($var); }
    
    // ---- nur erlaubte Zeichen  --- 
    $var = preg_replace("/[^".$erlaubt."]/","",$word);
    
    return $var; 
    }


    Das ist nur ein erster Versuch, quasi nur die Idee ....


    Welche Filter sollte ich in die Funktion rein packen ?

    a) die immer angewendet werden
    b) die optional angewendet werden (mit Schalter true / false)
    c) sonstige Filter (wie z.B. erlaubte Zeichen, etc.)

    Oder gibt es für sowas schon die eine oder andere frei Verfügbare
    und brauchbare Funktion, die Ihr mir empfehlen könnt ?!?

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo,

    eventuell könntest du noch mysql_real_escape_string für SQL als Option einbauen.
    Wobei das vielleicht doch erst beim SQL-Query bauen sinnvoller wäre.

    Weiters solltest du das mit RegEx nur bei dringenden Fällen machen. Reg-Engine braucht extra Zeit/Leistung.

    Hab noch ein paar Fehler bzw. Unnötigkeiten editiert.
    function filter_request ($var, $tags=true, $erlaubt='A-Za-z0-9_-') { 
    
    // ---- immer anwenden --- 
    $var = trim($var); 
    $var = stripslashes($var); 
    $var = html_entity_decode($var); 
    
    // ---- Optional anwenden --- 
    if ($tags === false) { $var = strip_tags($var); }
    
    // ---- nur erlaubte Zeichen  --- 
    $var = preg_replace("/[^".$erlaubt."]/","",$var);
    
    return $var; 
    }


    Beitrag zuletzt geändert: 17.11.2011 13:16:43 von philippkern
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!