sql >> Database teknologi >  >> RDS >> Mysql

Hvornår skal jeg IKKE bruge mysql_real_escape_string

Det er en dårlig idé af et par grunde:

  • For det første antager det, at dine input altid vil gå ind i databasen og ind i databasen alene. Hvad hvis noget skal bruges i HTML-output? Eller i en mail? Eller skrevet til en fil? Eller en masse andre ting.. din filtrering skal altid være kontekstafhængig.
  • Endnu vigtigere, det tilskynder til sjusket brug af GET, POST osv., fordi der ikke er nogen indikation af, at de er blevet filtreret. Hvis nogen ser dig bruge

    echo $_POST['navn'];

    på en side, hvordan ved de, at den er blevet filtreret? Eller endnu værre... er du sikker på, det har været det? Hvad med den anden app? Du ved, den du lige fik udleveret? Hvad ville nye udviklere gøre? Ville de overhovedet vide, at filtrering er vigtigt?



  1. Hvordan forudindlæser man tabeller i INNODB-bufferpuljen med MySQL?

  2. Sådan får du sidste 12 måneders data i MySQL

  3. MySQL 8 indlejret udvalg med tæller

  4. Cakephp:mens du indsætter tinyint felt. Får kun 0 eller 1