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

Wstrzyknięcia SQL w ADOdb i ogólne bezpieczeństwo witryny

Ataki typu SQL injection zdarzają się, gdy dane wprowadzane przez użytkownika jest nieprawidłowo zakodowany. Zazwyczaj dane wejściowe użytkownika to pewne dane, które użytkownik wysyła wraz z zapytaniem, tj. wartości w $_GET , $_POST , $_COOKIE , $_REQUEST lub $_SERVER tablice. Jednak dane wejściowe użytkownika mogą również pochodzić z wielu innych źródeł, takich jak gniazda, zdalne strony internetowe, pliki itp. Dlatego naprawdę powinieneś traktować wszystko oprócz stałych (jak 'foobar' ) jako dane wejściowe użytkownika .

W opublikowanym kodzie mysql_real_escape_string służy do kodowania (=escape) danych wejściowych użytkownika. Kod jest zatem poprawny, tj. nie pozwala na żadne ataki typu SQL injection.

Zauważ, że bardzo łatwo jest zapomnieć o wywołaniu mysql_real_escape_string - i jeden raz wystarczy wprawnemu napastnikowi! Dlatego możesz chcieć użyć nowoczesnego PDO z przygotowanymi wyciągami zamiast adodb.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zwracaj tylko wartości liczbowe w MySQL

  2. Równoważenie obciążenia bazy danych w chmurze — MySQL Master Failover z ProxySQL 2.0:część pierwsza (wdrożenie)

  3. Jak pozbyć się błędu MySQL „Przygotowana instrukcja wymaga ponownego przygotowania”

  4. Znaczenie MySQL INT

  5. Neo4j - Usuń węzeł za pomocą Cypher