Funktion zur Bereinigung von Eingaben an Mysql-Datenbank

Ich versuchte eine Allgemeine Funktion zusammen, desinfizieren-Eingang zu einer Mysql-Datenbank. So weit ist das, was ich habe:

function sanitize($input){
    if(get_magic_quotes_qpc($input)){

        $input = trim($input); //get rid of white space left and right
        $input = htmlentities($input); //convert symbols to html entities
        return $input;
    } else {

        $input = htmlentities($input); //convert symbols to html entities
        $input = addslashes($input); //server doesn't add slashes, so we will add them to escape ',",\,NULL
        $input = mysql_real_escape_string($input); //escapes \x00, \n, \r, \, ', " and \x1a
        return $input;
    }
}

Wenn ich verstehen die definition von get_magic_quotes_qpc(). Dies wird durch den php-server automatisch die escape-Zeichen anstelle des Müssens zu verwenden addslashes().

Habe ich addslashes() und mysql_real_escape_string() richtig zusammen und gibt es etwas, was ich hinzufügen könnte erhöhen die Bereinigung.

Dank

Die Kombination, wie viele escaping-Funktionen wie möglich ist kein guter Ansatz. Sie werden nur am Ende mit triple entgangen Daten, und kann es nicht verwenden, für nichts, aber in der html-Ausgabe.
Siehe auch Methode für die Desinfektion der user-input -und- Was sind die besten PHP-Eingang Hygienisierung von Funktionen?
möglich, Duplikat der Ist es empfehlenswert, einen santizing Funktion verbindet zwei oder mehrere eingebaute Desinfektions-Funktionen in php?

InformationsquelleAutor crm | 2012-02-04

Schreibe einen Kommentar