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

Предотвратяване на PHP SQL инжектиране с низови операции

Разбира се, можете да защитите от инжектиране с mysql_real_escape_string($postID) , стига да нямате нищо против заявка всеки път, когато извикате функцията.

PDO и MySQLi предоставят много повече от защита от инжектиране. Те позволяват подготвени изявления, които могат да защитят срещу инжектиране без множество извиквания към db. Това означава по-бърза цялостна производителност. Представете си, че се опитвате да вмъкнете в таблица потребителски запис с 30 колони... това е много mysql_real_escape_string() обаждания.

Подготвените оператори изпращат всички данни наведнъж заедно със заявката и ги избягват на сървъра с една заявка. Подготвени декларации за поддръжка на Mysql DB, старите php mysql_ библиотеки не ги поддържат.

Време е да преминете към mysqli или за предпочитане PDO – никога няма да погледнете назад.



  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 съхранена процедура от Rails?

  3. SQL UNION ALL за премахване на дубликати

  4. Вземете най-новата дата от групирани MySQL данни

  5. Как да настроите AUTO_INCREMENT от друга таблица