06. december 2005 - 20:47Der er
12 kommentarer og 1 løsning
Fjern skadelige ting før insert i db
Hej. Jeg skal tage imod input fra en form og sætte det ind i en database, hvor efter det vises på hjemmesiden, så jeg skal have lavet en funktion der fjerner skadelige ting. Noget i stil med det her (er ikke testet):
Ja det vil jeg også selv, men jeg er ikke sikker på om det kan bruges i praksis. For eksempel kan en jo forsøge at vise noget PHP. Vil det i så fald kunne læses i "den anden ende"?
addslashes() kan også bruges istedet for mysql_real_escape_string() (da sidstnævnte kræver at mysql virker.. dvs. dit system ville være ubrugeligt i et ikke-mysql-miljø)
det anbefales at du bruge strip_tags() og htmlentitie() ved OUTPUT istedet. det er faktisk kun addslashes() som er nødvendig før DB insert.
(og så alm. validering på ALLE informationer , men det er jo genneralt procedure).
Mit "system" kommer aldrig til at køre på andet end MySQL.
Du kan ikke sammenligne addslashes og mysql_real_escape_strings. addslashes ændre kun på ' " \ og NUL hvorimod mysql_real_escape_string også gør det ved \x00, \n, \r og \x1a
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.