Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Evite injeção de SQL no formulário de registro php


A melhor maneira de evitar injeções é usar Declarações Preparadas .
Para declarações preparadas eu prefiro usar PDO para lidar com todas as minhas coisas de banco de dados. aqui está um código de exemplo de PDO que escrevi para recuperar algumas informações básicas de login:
$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'];

... etc

Leia este página para obter mais informações sobre o DOP. Se você quiser saber o que cada linha de código aqui está fazendo, leia este resposta que dei para outro post.