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

Kiedy NIE powinienem używać mysql_real_escape_string?

To zły pomysł z kilku powodów:

  • Po pierwsze, zakłada, że ​​twoje dane wejściowe będą zawsze trafiały do ​​bazy danych i tylko do bazy danych. A jeśli coś zostanie użyte w wyjściu HTML? Lub w e-mailu? Lub zapisany do pliku? Lub wiele innych rzeczy... Twoje filtrowanie powinno zawsze być zależne od kontekstu.
  • Co ważniejsze, zachęca do niechlujnego korzystania z GET, POST itp., ponieważ nic nie wskazuje na to, że zostały one odfiltrowane. Jeśli ktoś cię zobaczy, użyj

    echo $_POST['nazwa'];

    na stronie, skąd mieliby wiedzieć, że została odfiltrowana? Albo jeszcze gorzej... jesteś pewien, że tak było? A co z tą inną aplikacją? Wiesz, ten, który właśnie dostałeś? Co zrobiliby nowi programiści? Czy w ogóle wiedzieliby, że filtrowanie jest ważne?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Doctrine 2 DQL MySQL odpowiednik ROUND()?

  2. Jak obliczyć sumę bieżącą w MySQL

  3. MySql, jak mogę wyeksportować indeksy z mojej rozwojowej bazy danych do produkcyjnej bazy danych?

  4. mysql skomplikowany sql

  5. HTML - Zmień\Aktualizuj zawartość strony bez odświeżania\przeładowania strony