Mysql
 sql >> база данни >  >> RDS >> Mysql

Избягвайте SQL инжекцията в регистрационната форма php

Най-добрият начин да избегнете инжекциите е да използвате Подготвени изявления .
За подготвени изявления предпочитам да използвам PDO, за да се справя с всички мои DB неща. ето примерен код на PDO, който написах, за да извлека основна информация за вход:

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

... и т.н.

Прочетете това страница за повече информация относно ЗНП. Ако искате да знаете какво прави всеки ред код тук, прочетете това отговор дадох на друг пост.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Всички колони на таблицата трябва да бъдат индексирани или не mysql база данни?

  2. вмъкване на данни в mysql база данни с помощта на php

  3. Има ли полза от създаването и индексирането на първичен ключ?

  4. Как се използват алгоритмите за класиране на Reddit и Hacker News?

  5. Как мога да направя средна стойност от дати в MySQL?