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

Zapobieganie wstrzykiwaniu SQL w PHP za pomocą operacji na ciągach

Jasne, możesz chronić się przed wstrzyknięciem za pomocą mysql_real_escape_string($postID) , o ile nie masz nic przeciwko zapytaniu za każdym razem, gdy wywołujesz funkcję.

PDO i MySQLi zapewniają znacznie więcej niż tylko ochronę przed wstrzyknięciem. Pozwalają na przygotowywanie instrukcji, które mogą chronić przed wstrzyknięciem bez wielokrotnych wywołań bazy danych. Oznacza to szybszą ogólną wydajność. Wyobraź sobie, że próbujesz wstawić do tabeli rekord użytkownika z 30 kolumnami... to dużo mysql_real_escape_string() połączeń.

Przygotowane zestawienia wysyłają jednocześnie wszystkie dane wraz z zapytaniem i eskejpują je na serwer w jednym żądaniu. Obsługa Mysql DB przygotowała instrukcje, stare biblioteki php mysql_ ich nie obsługują.

Czas przejść do mysqli lub najlepiej PDO — nigdy nie obejrzysz się za siebie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego warto korzystać z frameworków? Przekonaj mnie, że powinienem wymyślić Zend Framework i go używać

  2. Przycisk radiowy nie wysyła wartości do bazy danych MySQL

  3. Mieszanie starego mysql z PDO

  4. Jak zaimportować binlog MySQL, który zawiera INSERT pola TIMESTAMP z domyślną wartością CURRENT_TIMESTAMP

  5. jak usunąć zduplikowane wartości z tabeli MySQL