sql >> Database teknologi >  >> RDS >> Mysql

Undgå SQL-injektion i registreringsformular php

Den bedste måde at undgå injektioner på er at bruge Forberedte erklæringer .
For udarbejdede erklæringer foretrækker jeg at bruge PDO til at håndtere alle mine DB-ting. her er en PDO-eksempelkode, jeg skrev for at hente nogle grundlæggende loginoplysninger:

$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 dette side for mere information om BOB. Hvis du vil vide, hvad hver linje kode her gør, så læs dette svar jeg gav til et andet indlæg.



  1. MySQL UPDATE syntaks med flere tabeller ved hjælp af WHERE klausul

  2. SQL Server 2016:Opret en lagret procedure

  3. Hvordan bestilles efter to kolonner i SQL?

  4. Få værdierne for de sidste 6 måneder i mysql