Gå til innhold

Tekst forsvinner ved feil valideringskode


Anbefalte innlegg

Jeg har endelig lært meg å lage validering på gjestebok. Men nå har jeg problemer med at teksten som er skrevet i feltene forsvinner hvis man skal legge inn ny melding og skriver feil valideringskode.

 

Er det noen her som vet/har tips til hvordan jeg kan ordne dette?

Driver med dette litt på hobbybasis, så jeg er ikke så veldig dreven.

 

Blir veldig glad om noen kan/vil hjelpe meg med dette :)

 

En av sidene jeg har gjestebok på er denne.

 

Mvh

 

Nina Elise

Endret av ninaelise
Lenke til kommentar
Videoannonse
Annonse

Takk for svar :)

 

Det virker, men jeg får et default laget space på feltene.

 

Men det virker ikke på meldingsfeltet som ser slik ut:

<textarea cols="40" rows="6" name="melding" value="<?php echo $_POST['melding']; ?> "></textarea>

 

Er det noe jeg gjør feil, eller er det rett og slett ikke mulig å gjøre det i et textarea?

Endret av ninaelise
Lenke til kommentar

For guds skyld:

<input type="text" name="navn" value="<?php echo $_POST['navn']; ?> ">

Er ca det samme som å invitere alle scriptkiddies til å gå løs på siden.

 

 

Jeg ville heller gjort noe slik:

<input type="text" name="navn" value="<?php echo htmlentities($_POST['navn']); ?> ">

Lenke til kommentar
For guds skyld:

<input type="text" name="navn" value="<?php echo $_POST['navn']; ?> ">

Er ca det samme som å invitere alle scriptkiddies til å gå løs på siden.

 

 

Jeg ville heller gjort noe slik:

<input type="text" name="navn" value="<?php echo htmlentities($_POST['navn']); ?> ">

6508172[/snapback]

... og hva i gudenes navn skal man klare å utrette? Lure seg selv? Greit nok når det skal skrives til DB, men når man har skrevet inn feil valideringskode (dvs. viser det man selv har skrevet inn)? :huh: Den må du nesten utdype.

Endret av Ernie
Lenke til kommentar
For guds skyld:

<input type="text" name="navn" value="<?php echo $_POST['navn']; ?> ">

Er ca det samme som å invitere alle scriptkiddies til å gå løs på siden.

 

 

Jeg ville heller gjort noe slik:

<input type="text" name="navn" value="<?php echo htmlentities($_POST['navn']); ?> ">

6508172[/snapback]

 

 

Vil du forklare hva de kan gjøre når du ikke har på htmlentities()?

Lenke til kommentar

Jeg kan lese dine cookies fra siden, og sende de til meg. Deretter hijacker jeg din sesjon. Ikke vet jeg om jeg kan tømme kontoen din da, tviler på det. Men det handler rett og slett å kode med vett, slik at man lærer de gode vanene fra starten av. For har man lært seg til en uvane, så er det ikke spesielt lett å bli kvitt den.

 

http://en.wikipedia.org/wiki/XSS

Lenke til kommentar

xqus:

Hvordan har du tenkt å gjøre det?

Jeg kan vel putte akkurat hva jeg vil i et <input type="text"> felt uten at det gjør noen skade, så lenge jeg sikrer det før jeg bruker det mot en database/mail eller lignende? Om man slenger inn javascript der som sender meg cookien, så har vel ikke det noen betydning, da det er min egen cookie jeg da får tak i? :p

 

Kjenner ikke til XSS så godt, så er ikke 100% sikker her...

Lenke til kommentar

Jeg vet at dette høres overdrevent paranoid ut, men det koster så lite, og man vil vel ikke at brukere av siden sin skal få stjålet sine kontoer pga. han som programmerte siden var litt lat? :p

 

La oss si du logger deg inn på siden med ditt brukernavn og passord. Du krysser av for "lagre brukernavn og passord til neste gang". Flott.

Deretter sender jeg deg en mail/du går inn på en side eller noe, og ser en link til din favoritt side (som du er logget inn på, fra sist gang). Denne linken ber nettleseren din sende med en hel del post data som den da gjør, blandt dette er javascriptet som leser dine cookies og sender de til et php script på min server. Jeg har da dine cookies. Og da er det jo bare for meg å legge inn disse i min nettleser, og gå inn på siden.

 

Det er jo ikke spesielt koselig?

Lenke til kommentar

Jo, men om jeg har side1.php (pseudokode):

if ($valid) // gjør dette
else { // Vis formen på nytt
<form action="$PHP_SELF" method="POST">
<input type="text" name="felt1" value="$_POST['felt1']">
<input type="submit">
</form>
}

 

Dette er vel ikke noe "farlig"?

Er jo jeg selv som fyller ut "felt1"?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...