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
.