sql >> Databasteknik >  >> RDS >> Mysql

Undvik SQL-injektion i registreringsformuläret php

Det bästa sättet att undvika injektioner är att använda Förberedda uttalanden .
För förberedda uttalanden föredrar jag att använda PDO för att hantera alla mina DB-grejer. här är lite PDO-exempelkod jag skrev för att hämta lite grundläggande inloggningsinformation:

$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'];

... osv

Läs det här sida för mer information om SUB. Om du vill veta vad varje rad kod här gör, läs detta svar jag gav på ett annat inlägg.



  1. Analysera parameterns standardvärden med PowerShell – Del 3

  2. Hur väljer man flera kolumner med samma namn med JPA-inbyggd fråga?

  3. SQL VÄLJ MIN

  4. MySQL-felkod:1005