sql >> Databáze >  >> RDS >> Mysql

Kdy NEMÁM používat mysql_real_escape_string

Je to špatný nápad z několika důvodů:

  • Zaprvé předpokládá, že vaše vstupy budou vždy směřovat pouze do databáze a do databáze. Co když bude něco použito ve výstupu HTML? Nebo v emailu? Nebo zapsáno do souboru? Nebo spousta dalších věcí... vaše filtrování by mělo být vždy kontextové.
  • Ještě důležitější je, že podporuje nedbalé používání GET, POST atd., protože nic nenasvědčuje tomu, že byly filtrovány. Pokud vás někdo uvidí, použijte

    echo $_POST['name'];

    na stránce, jak by věděli, že byla filtrována? Nebo ještě hůř... jsi si jistý, že to tak bylo? A co ta další aplikace? Víš, ten, který jsi právě dostal? Co by dělali noví vývojáři? Věděli by vůbec, že ​​je filtrování důležité?



  1. pomocí null v připraveném příkazu mysqli

  2. Návrh databáze sociální webové aplikace:jak mohu toto schéma zlepšit?

  3. Držení více položek ve sloupci na mysql

  4. Můžeme provádět SQL dotazy v JQuery