webForumDet fria alternativet

Är detta rätt?

PHP

3 svar · 346 visningar · startad av mr.mainline

Medlem sedan feb. 2003777 inlägg
Frågan#1

Jag ska använda "htmlspecialchars" så att man inte ska kunna skiva html i min gästbok, och det fungerar men är det rätt skivit?

$namn = htmlspecialchars($_POST['namn']);
$inlagg = htmlspecialchars($_POST['inlagg']);
$email = htmlspecialchars($_POST['email']);
Medlem sedan juni 20006 031 inlägg
#2

Kolla Maltes förslag på hur man rensar html kod.

http://a-kok.com/php/rensatext.php

Medlem sedan dec. 1999757 inlägg
#3

mr.mainline skrev:

men är det rätt skivit?

Jag tycker kanske inte det är helt rätt men för att ge ett bra svar beror det lite på vart du sparar texten.

Sparar du till textfil måste du ta hänsyn till vilket/vilka tecken som används som separator men sparar du till exempelvis MySQL, som kanske är det vanligaste idag, så behöver du endast ta hänsyn till tecken som kan bryta koden i din insert. Sedan är det ett missförstånd att man måste ta hand om html-kod när någon postar. Kör du du mot en databas så använd addslashes() och först när något hämtas och ska presenteras på sidan så bestämmer du vad som ska tillåtas.
Exempelvis: $text = nl2br(htmlentities(stripslashes($text))); är en bra start. I det här läget finns ju heller ingen anledning att pilla ihop någon funktion för att "återsälla" som i länkexemplet eftersom vi redan har orginalet i databasen.

Medlem sedan feb. 2003777 inlägg
#4

jag tackar för det svaret kjell, jag sparar i MySql.

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)