Avatar billede human Nybegynder
01. oktober 2006 - 12:27 Der 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?
Avatar billede jaw Nybegynder
01. oktober 2006 - 12:28 #1
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.
Avatar billede human Nybegynder
01. oktober 2006 - 12:45 #2
Ja, det må ikke være muligt at bruge html, javascript og hva der ellers er.

Men mysql_real_escape_string og strip_tags tager sig altså af det hele?
Avatar billede human Nybegynder
01. oktober 2006 - 12:53 #3
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());
Avatar billede jaw Nybegynder
01. oktober 2006 - 12:56 #4
"Tager sig af det hele" er jo relativt. Det gør de, hvis det de gør er "det hele" :)

$insert = mysql_query("INSERT INTO comments(news_id, name, date, text) VALUES
('".$_GET['id']."', '".$_POST['navn']."', NOW(), '".strip_tags(mysql_real_escape_string($_POST['text']))."')") or die(mysql_error());
Avatar billede human Nybegynder
01. oktober 2006 - 13:27 #5
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?
Avatar billede jaw Nybegynder
01. oktober 2006 - 13:29 #6
Nah, umiddelbart er det nok de 2 vigtigste. Og ja, det er det selvfølgelig, hvis navnet bliver manuelt indtastet af brugeren.
Avatar billede human Nybegynder
01. oktober 2006 - 13:33 #7
Det lyder godt. Jeg lader spørgsmålet stå lidt hvis der er andre med guldkorn. Men læg bare et svar.
Avatar billede jaw Nybegynder
01. oktober 2006 - 13:35 #8
Ok :)

Og så må du jo bare bombardere dine forms med alle tænkelige eksempler, og se om der er noget der giver ballade...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester