Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Vermeiden Sie die SQL-Injection im Registrierungsformular PHP

Der beste Weg, Injektionen zu vermeiden, ist die Verwendung von vorbereiteten Erklärungen .
Für vorbereitete Anweisungen ziehe ich es vor, PDO zu verwenden, um alle meine DB-Sachen zu handhaben. Hier ist ein PDO-Beispielcode, den ich geschrieben habe, um einige grundlegende Anmeldeinformationen abzurufen:

$sql=new PDO("mysql:host=127.0.0.1;dbname=name","user","password");
        $user=$_POST[user];

        $query="select Salt,Passwd from User
                where Name=:user";
        $stmt=$sql->prepare($query);
        $stmt->bindParam(':user',$user);
        $stmt->execute();
        $dr=$stmt->fetch();        
        $sql=null; 
        $password=$_POST[pass];
        $salt=$dr['Salt'];

... usw

Lesen Sie dies Seite für weitere Informationen über PDO. Wenn Sie wissen möchten, was jede Codezeile hier macht, lesen Sie dies Antwort, die ich auf einen anderen Beitrag gegeben habe.