Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Unikaj iniekcji SQL w formularzu rejestracyjnym php

Najlepszym sposobem na uniknięcie zastrzyków jest użycie gotowych wyciągów .
W przypadku gotowych instrukcji wolę używać PDO do obsługi wszystkich moich rzeczy związanych z bazą danych. oto przykładowy kod PDO, który napisałem, aby pobrać podstawowe informacje o logowaniu:

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

... itd

Przeczytaj to Strona, aby uzyskać więcej informacji na temat ChNP. Jeśli chcesz wiedzieć, co robi każda linia kodu tutaj, przeczytaj to odpowiedź, którą udzieliłem w innym poście.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instrukcja COUNT CASE i WHEN w MySQL

  2. nie można uzyskać dostępu do mysql z wiersza poleceń mac

  3. vBulletin jako login dla całej witryny (edycja:osiągnięto pewien postęp)

  4. Połączenie z serwerem Azure MySQL nie powiodło się z powodu nieprawidłowego ciągu połączenia

  5. Błąd zapytania SQL:Użyj metody SUM, Kiedy #1054 — Nieznana kolumna „tbl_customers.id” w „klauzula where”