sql >> Database >  >> RDS >> Mysql

Wanneer moet ik mysql_real_escape_string NIET gebruiken?

Het is om een ​​aantal redenen een slecht idee:

  • Ten eerste gaat het ervan uit dat je invoer altijd naar de database gaat en alleen naar de database. Wat als er iets wordt gebruikt in HTML-uitvoer? Of in een e-mail? Of naar een bestand geschreven? Of nog veel meer.. je filtering moet altijd contextgevoelig zijn.
  • Wat nog belangrijker is, het moedigt slordig gebruik van GET, POST, enz. aan, omdat er geen indicatie is dat ze zijn gefilterd. Als iemand je ziet, gebruik dan

    echo $_POST['name'];

    op een pagina, hoe zouden ze weten dat deze is gefilterd? Of nog erger... weet je zeker dat het zo is geweest? Hoe zit het met die andere app? Je weet wel, degene die je zojuist hebt gekregen? Wat zouden nieuwe ontwikkelaars doen? Zouden ze weten dat filteren belangrijk is?



  1. Controleer de mySQL-versie op Mac 10.8.5

  2. ElasticSearch PutMapping API:MapperParsingException Hoofdtypetoewijzing niet leeg na parseren

  3. Oracle Live SQL

  4. Herstel SQL Database-herstel in afwachting van probleem met geweigerde toegang