/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
HTML kode fra tekstfelt -> db
Fra : Martin Møller Bæk


Dato : 13-12-02 19:42

Hvis jeg vil tage noget data fra et tekstfelt
der kan indeholde HTML kode, også putte det i
en database, er det så ikke noget med, at man
skal køre det gennem en eller anden PHP funktion?
Hvad med når jeg hiver det ud igen?


Mvh
Martin


 
 
Niels Andersen (13-12-2002)
Kommentar
Fra : Niels Andersen


Dato : 13-12-02 20:52

Martin Møller Bæk wrote in <3DFA2A0D.6070804@nospam.aflame.dk>:
> Hvis jeg vil tage noget data fra et tekstfelt
> der kan indeholde HTML kode, også putte det i
> en database, er det så ikke noget med, at man
> skal køre det gennem en eller anden PHP funktion?

Nope. HTML er bare helt almindelig tekst. Men du skal huske at escape
farlige tegn, ligesom med al anden tekst.

> Hvad med når jeg hiver det ud igen?

Ikke noget. Det skulle gerne være klar til servering. Medmindre du da har
lyst til at gøre noget ved det. :)

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Martin Møller Bæk (13-12-2002)
Kommentar
Fra : Martin Møller Bæk


Dato : 13-12-02 21:03

Niels Andersen wrote:
> Nope. HTML er bare helt almindelig tekst. Men du skal huske at escape
> farlige tegn, ligesom med al anden tekst.

Kunne du ikke lige give et eksempel på farlige tegn.
Og hvordan escaper man den nemmest.

Martin


Niels Andersen (13-12-2002)
Kommentar
Fra : Niels Andersen


Dato : 13-12-02 21:11

Martin Møller Bæk wrote in <3DFA3D11.40006@nospam.aflame.dk>:
>> Nope. HTML er bare helt almindelig tekst. Men du skal huske at escape
>> farlige tegn, ligesom med al anden tekst.
>
> Kunne du ikke lige give et eksempel på farlige tegn.
> Og hvordan escaper man den nemmest.

$sql = "SELECT id, navn, julemand FROM tabel WHERE navn='$navn'";

En eller anden skriver så fx. dette navn:
platfod'; DELETE FROM tabel;

Kan du selv se hvad der sker?

Hvis du bruger mysql kører du bare navnet gennem addslashes(). Så bliver det
lille quote-tegn udskadeliggjort.

Fx:
$sql = "SELECT id, navn, julemand FROM tabel WHERE
navn='".addslashes($navn)."'";

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Martin Møller Bæk (13-12-2002)
Kommentar
Fra : Martin Møller Bæk


Dato : 13-12-02 22:37

Niels Andersen wrote:
> Martin Møller Bæk wrote in <3DFA3D11.40006@nospam.aflame.dk>:
> $sql = "SELECT id, navn, julemand FROM tabel WHERE navn='$navn'";
>
> En eller anden skriver så fx. dette navn:
> platfod'; DELETE FROM tabel;
>
> Kan du selv se hvad der sker?
>
> Hvis du bruger mysql kører du bare navnet gennem addslashes(). Så bliver det
> lille quote-tegn udskadeliggjort.
>
> Fx:
> $sql = "SELECT id, navn, julemand FROM tabel WHERE
> navn='".addslashes($navn)."'";

Tak for det.
Ja, det ville jo nok være en god ide at
bruge addslashes så...

/Martin


Martin Møller Bæk (13-12-2002)
Kommentar
Fra : Martin Møller Bæk


Dato : 13-12-02 22:49

Iøvrigt har jeg lige et tillægsspørgsmål,
som ligner lidt.
Jeg har et input felt, hvor der kan skrives html i,
og som gennem i db'en. Men når jeg bagefter viser
en entitiet i et felt, kan det gå galt.

Ex.

I feltet
<input type="text" value="" />
indtastes <img src="foo.gif">

Når dette senere vises i samme felt får vi:
<input type="text" value="<img src=\"foo.gif\"> />
og det går galt, da det vises forkert.
Hvad skal jeg gøre for at få det vist rigtigt.

/Martin


Niels Andersen (13-12-2002)
Kommentar
Fra : Niels Andersen


Dato : 13-12-02 23:07

Martin Møller Bæk wrote in <3DFA55E1.3000004@nospam.aflame.dk>:
> I feltet
> <input type="text" value="" />
> indtastes <img src="foo.gif">
>
> Når dette senere vises i samme felt får vi:
> <input type="text" value="<img src=\"foo.gif\"> />

<input type="text" value="<?php echo htmlentities($string); ?>" />

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Thomas Lindgaard (14-12-2002)
Kommentar
Fra : Thomas Lindgaard


Dato : 14-12-02 12:09

.... og husk at det måske ikke er så dejligt hvis brugeren nu skriver
"</html>"...

Mvh.
/Thomas

Martin Møller Bæk (14-12-2002)
Kommentar
Fra : Martin Møller Bæk


Dato : 14-12-02 12:42

Thomas Lindgaard wrote:
> ... og husk at det måske ikke er så dejligt hvis brugeren nu skriver
> "</html>"...

he he. Ja, det ville ikke være så godt.
Nu er det heldigvis et internt værktøj (med login),
jeg er ved at lave, og det er pt kun en person,
der skal bruge det, hvilket gør, at man godt kan
springe over noget af sikkerheden på sider, hvor
brugeren er lukket ind.

Men tak for svarene..

/Martin


Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408937
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste