01. oktober 2006 - 12:27Der er
7 kommentarer og 1 løsning
check bruger input spgs
Hejsa
Jeg har læst en del om at man skal tjekke det brugeren indtaster når man smider det i en database (i dette tilfælde mysql). Nogle af de ting jeg har kigget på er magic quotes, htmlspecialchars osv. Men hvor meget en egentligt nødvendigt. På min kommende side kan brugerne smide en kommentar til nyheder, og der er også en gæstebog hvor de kan skrive i. Men hvordan anbefaler du jeg skal tjekke det som bliver smidt i db'en?
Manualen foreslår mysql_real_escape_string() og nogle bruger addslashes(). Det kommer jo lidt an på, hvor meget du synes der skal formateres. Nogle bruger også strip_tags() inden, så brugeren ikke kan bruge <font>-tags f.eks. og ændre på udseendet af siden via deres indlæg.
Og hvordan ville det se ud, hvismin insert ser således ud: $insert = mysql_query("INSERT INTO comments(news_id, name, date, text) VALUES ('".$_GET['id']."', '".$_POST['navn']."', NOW(), '".$_POST['text']."')") or die(mysql_error());
Okay lad mig spørge på en bedre måde :) Er der andre ondsindede ting man skal tage hensyn til, som mysql_real_escape_string() og strip_tags() ikke tager sig af?
Jeg kan se at du har tilføjet det på $_POST'text']. Men det skal vel egentlig også på navn eller hvordan?
Og så må du jo bare bombardere dine forms med alle tænkelige eksempler, og se om der er noget der giver ballade...
Synes godt om
Ny brugerNybegynder
Din løsning...
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.