sql >> Databáze >  >> RDS >> Mysql

Vyhněte se SQL injection v registračním formuláři php

Nejlepší způsob, jak se vyhnout injekcím, je použít Připravená prohlášení .
Pro připravené výpisy dávám přednost použití PDO ke zpracování všech mých věcí v DB. zde je ukázkový kód PDO, který jsem napsal, abych získal základní přihlašovací informace:

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

... atd

Přečtěte si toto stránce pro více informací o CHOP. Pokud chcete vědět, co dělá každý řádek kódu zde, přečtěte si toto odpověď, kterou jsem dal na jiný příspěvek.



  1. MySQL, jak získat součet počátečních/koncových dat s možnými překrývajícími se daty

  2. mysql count group tím, že má

  3. Jak funguje funkce LPAD() v MySQL

  4. Opravy pro SQL Server 2012 a 2014 online problém s přestavbou indexu