sql >> Base de Datos >  >> RDS >> Mysql

¿Cuándo NO debo usar mysql_real_escape_string?

Es una mala idea por un par de razones:

  • Primero, asume que sus entradas siempre irán a la base de datos y solo a la base de datos. ¿Qué pasa si algo se va a usar en la salida HTML? ¿O en un correo electrónico? ¿O escrito en un archivo? O muchas otras cosas... su filtrado siempre debe ser sensible al contexto.
  • Más importante aún, fomenta el uso descuidado de GET, POST, etc. porque no hay indicios de que hayan sido filtrados. Si alguien te ve usa

    echo $_POST['nombre'];

    en una página, ¿cómo sabrían que ha sido filtrada? O peor aún... ¿estás seguro de que lo ha sido? ¿Qué pasa con esa otra aplicación? Ya sabes, ¿el que te acaban de entregar? ¿Qué harían los nuevos desarrolladores? ¿Sabrían siquiera que el filtrado es importante?