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

¿Es esta una función de desinfección de entrada segura/fuerte?

Diría que es demasiado general. puede ser seguro para muchos usos, pero a menudo daría efectos secundarios no deseados a las cuerdas. No todas las cadenas deben escaparse así.

  • mysql_real_escape_string() debe usarse solo en consultas SQL. Mejor aún, vincule params con PDO.
  • ¿Por qué querría quitar etiquetas y codificar entidades antes de insertarlas en una base de datos? Tal vez hacerlo a la salida.
  • Para la prevención de XSS, htmlspecialchars() es más tu amigo. Dale el juego de caracteres como argumento.

Así que usaría mysql_real_escape_string() para consultas y htmlspecialchars() para hacer eco de las cadenas enviadas por el usuario. También hay mucho más por saber. Haga algunas lecturas adicionales .