sql >> Databasteknik >  >> RDS >> Mysql

Är detta en säker/stark ingångssaneringsfunktion?

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 .



  1. Hur man håller reda på vad användarna gör

  2. Reverse engineering (oracle) schema till ERD

  3. Finns det någon skillnad mellan IS NULL och =NULL

  4. Oracle sammanfogar sträng- och nummerexempel