Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  3 871
Hei!
Jeg holder på å lage en kommentarfunksjon. Brukeren kan skrive inn kommentaren sin i en textarea. Jeg ønsker ikke at brukeren skal ha mulighet til og bruke HTML/javascript.
Her er formen:

Kode

<form action="" method="post">
<textarea rows="4" cols="50" name="kommentar"></textarea><br />
<input type="submit" name="kommentarSubmit" value="Kommenter!">
</form>
Det fungerer til en viss grad, men når teksten går over en viss størrelse, blir ingenting skrevet ut. Jeg har prøvd og kjøre htmlspecialchars() og htmlentities() når jeg skriver ut teksten. Mulig jeg må bruke en av de overnevnte funksjonene når jeg skriver til databasen, men da blir ingen informasjon lagret i kommentar-cellen. Alt fungerer som det skal om jeg ikke bruker en av de nevnte funksjonene, men da kan brukeren utnytte HTML/javascript.
Du kan sette maxlength="(så mange bokstaver du vil ha som max her)"
Sitat av RampLest Vis innlegg
Mulig jeg må bruke en av de overnevnte funksjonene når jeg skriver til databasen, men da blir ingen informasjon lagret i kommentar-cellen. Alt fungerer som det skal om jeg ikke bruker en av de nevnte funksjonene, men da kan brukeren utnytte HTML/javascript.
Vis hele sitatet...
Da har du garantert en feil i PHP-koden din når du bruker disse funksjonene.

Bruk

Kode

$input = strip_tags($input);
eller

Kode

$input = htmlspecialchars($input);
Den første fjerner alle html-tags fra teksten, den siste konverterer de slik at de ikke leses som kode.
Sist endret av danielsk; 17. desember 2012 kl. 11:55.
Den "riktige" måten sånn jeg ser det, er htmlspecialchars() ved utskrift. Da kan folk bruke <, > og & og så videre i teksten, men ingen tagger vil bli tolket av nettleseren.