sql >> Databasteknik >  >> RDS >> Mysql

Vad är tillräckligt med sanering för en URL

"Tillräckligt sanering" beror helt och hållet på vilken miljö du pratar om. Sanering för MySQL bör betraktas som helt separat från sanering för webbutdata, och du bör hantera dem separat för att undvika mycket krångel.

Desinficering för MySQL

  • mysql_real_escape_string() kommer att rensa en bit data och göra den säker att placera i en SQL-fråga.
  • Alla andra typer av skadlig data, som HTML-taggar inuti strängen, bör absolut ignoreras. Att försöka manipulera det här kommer att leda till huvudvärk när du försöker "avmanipulera" det senare efter att ha tagit ut det från databasen. Dålig "webbdata" kan inte skada din databas.

Desinficering för utdata

  • htmlspecialchars($val) vid utdatatid kommer att förhindra att skadliga taggar renderas, eftersom < och > tecken konverteras till sina entitetsrepresentationer och renderas inte som taggavgränsare.
  • Använd ENT_QUOTES modifierare om du matar ut något som finns i ett HTML-elements citerade attribut, till exempel

Det borde vara allt du behöver, om du inte har speciella krav. strip_tags() borde egentligen inte användas för sanering, eftersom det kan luras med dåligt format HTML. Sanering är ett värdigt mål, och om du kan hålla isär dina sammanhang kommer du att stöta på färre problem med datamanipulation mellan dem.



  1. Får du maximal rad i grupp?

  2. Konvertera tidsstämpel datatyp till unix tidsstämpel Oracle

  3. MySQL återställningsfråga

  4. Bifoga strängar i enstaka citattecken i SQLite-frågeresultat