Citat:
Ursprungligen postat av nosnaj
Varför ska ha köra strip tags på söktermen som skickas till databasen?
Däremot all data du skriver ut på sidan som kan komma från inmatade fält bör du escapa.
http://php.net/htmlentities
Eller är jag ute och cyklar på kvällskvisten? 
|
Nej, du tänker rätt. Tyvärr saknar de flesta förståelse för vad de escapar och försöker använda allting, alltid, och får helt plötsligt massa problem så fort de ska göra något utöver det ursprungliga.
Vid input, escapa för mottagaren av datan. D v s MySQL i detta fall. Då använder du helst prepared statements, men också använd mysql_real_escape_string() är "OK".
Vid output, escapa för klienttypen det skrivs ut för. I detta fall en browser och HTML parsing. Då är htmlentities() en god idé. strip_tags() är lämpligare vid input för att förfina input från de som försöker använda HTML.
Vidare är mysql_-funktionerna deprekerade/föråldrade och kommer inte längre underhållas och så småningom fasas ut. Så skriver man ny kod bör man använda mysqli, pdo eller andra alternativ.