SQL Code "escapen" mit htmlspecialchars

  • Hi,

    also ich hätte eine Sicherheitsfrage. Ich möchte sichergehen, dass bei der POST-Methode ein User keinen gefährliche SQL-INJECTION durchführen kann.

    Ich habe dafür eine kleine Funktion geschrieben die alles zusammenfasst.

    Die Daten werden mit mysql_real_escape_string escapet. Nun will ich aber nicht überall stripslashes aufrufen müssen und wollte fragen wie sicher es is wenn ich die mysql_real_escape_string funktion durch htmlspecialchar ersetze ?

    Sollte dann ja theoretisch auch nimmer gehen, gefährlichen code einzuschmuggeln oder ?

    lg

    PHP
    if(isset($this) || !isset($this)){ // that's the question...
  • Sprich ich muss mysql_real_escape_string auch drüberjagen und dann jedes mal beim laden mit stripslashes wieder unescapen damit bei der ansicht der seite nicht überall slashes sind ... hmm na guut

    PHP
    if(isset($this) || !isset($this)){ // that's the question...
  • schreib dir einfach fürs fetchen deiner SELECT-Ergebnisse auch ne kleine eigene Funktion, beispielsweise:

    PHP
    function fetchArray($result) {
        if($return = mysql_fetch_array($result)){
            foreach($return as $k=>$v) {
                $return[$k] = stripslashes($v);
            }
        }
        else
            $return = false;
        return $return;
    }

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  • schreib dir einfach fürs fetchen deiner SELECT-Ergebnisse auch ne kleine eigene Funktion, beispielsweise:

    PHP
    function fetchArray($result) {
        if($return = mysql_fetch_array($result)){
            foreach($return as $k=>$v) {
                $return[$k] = stripslashes($v);
            }
        }
        else
            $return = false;
        return $return;
    }

    Gute Idee !

    PHP
    if(isset($this) || !isset($this)){ // that's the question...