Jag skulle säga att det är för allmänt. Det kan vara säker för många användningsområden, men det skulle ofta ge oönskade sidoeffekter till strängar. Inte alla strängar ska undvikas på det sättet.
mysql_real_escape_string()
bör endast användas inom SQL-frågor. Ännu bättre, bind params med PDO.- Varför skulle du vilja ta bort taggar och koda entiteter innan du infogar i en databas? Kanske gör det på vägen ut.
- För XSS-förebyggande,
htmlspecialchars()
är mer av din vän. Ge den teckenuppsättningen som ett argument.
Så jag skulle använda mysql_real_escape_string()
för frågor och htmlspecialchars()
för eko av användarinskickade strängar. Det finns också mycket mer att veta. Läs lite mer
.