View Single Post
+1 For prepared statements. De hindrer automatisk en stor del av injection-muligheter, ved at man ikke lengre kan endre selve "setningstrukturen" i spørringen.

En ting de derimot ikke gjør, er å hindre logiske feil. Eksempelvis å lese/overskrive ting vha. å styre et ID-felt (en feil kalt IDOR, eller
Insecure direct object references), eller muligheten til å sende inn veldig korte/veldig lange strenger som får noe til å kræsje.

Som Yochi nevner, så bør data også saniteres hvis det er ment for å kunne publisere innhold på en nettside. Dvs. fjerne muligheten til å bruke tags i det hele tatt, slik at besøkende ikke sender inn HTML-kode som gjør stygge ting. Dette fikses enkelt av f.eks. "htmlentities"-funksjonen, men du bør legge deg til en strategi hvor du ENTEN saniterer all data på vei INN i databasen, eller på vei UT. Ikke begge deler. En god blanding, vil før eller siden føre til at du glemmer deg og tenker at noe er sanitert, uten at det er det. Eller at noe dobbel-saniteres og blir helt uleselig.