2012-03-31 14 views
0

Mögliche Duplizieren:
Best way to stop SQL Injection in PHP
The ultimate clean/secure functionIst meine Fluchtfunktion wirklich sicher?

Meine Website über SQL-Injection angegriffen wurde und jetzt brauche ich es zu verbessern. Ich erstelle eine Funktion in PHP escape(), die die maskierte Version einer Zeichenfolge zurückgibt. Ich bin kein Hacker, bitte hilf mir, meine Fluchtfunktion zu verbessern. Hier ist die aktuelle Version:

function escape($string){ 

    $string = stripslashes($string); 
    $string = mysql_real_escape_string($string); 
    $string = strip_tags($string); 
    $string = str_replace('%','',$string); 
    $string = str_replace('_','',$string); 

    return $string; 

} 

Meine Frage ist: ist diese hackable, wenn es als ist, wie es zu beheben? Vielen Dank!

+3

Das ist, ehrlich gesagt, schrecklich. Es handelt sich um eine willkürliche Sammlung von Ersetzungen, die ohne Rücksicht darauf, was die Daten sind oder wo sie gemacht werden können, vorgenommen werden. – Quentin

+0

Um vor Angriffen zu schützen, wenn Benutzereingaben an anderen Stellen eingefügt werden (z. B. HTML-Dokumente oder JavaScript-Blöcke oder E-Mail oder PDF usw.), recherchieren Sie diese speziell. Es gibt kein globales Allheilmittel. – Quentin

+0

Alle Funktionen in Ihrem Beispiel außer 'mysql_real_escape_string' machen keinen Sinn (' stripslashes' macht Sinn, nur wenn Sie magische Anführungszeichen haben). –

Antwort

-1

Diese Funktion hat absolut nichts mit Sicherheit zu tun.
es schützt Sie kaum vor einigen Arten von XSS-Injektionen. das ist alles.