Gå til innhold

stripslashes/mysql_escape_string trøbbel


Anbefalte innlegg

Bruker session for å sende data tilbake til et skjema om bruker har glemt å skrive inn viktig info. Har forstått det sånn at man bør bruke mysql_escape_string() fra skjema uansett. Jeg bruker nå fx

$_SESSION['username'] = htmlspecialchars(mysql_escape_string(trim($_POST['username'])));

Er det en sikker måte å gjøre det på?

 

Så bruker jeg

<?php echo stripslashes($_SESSION['username']); ?>

 

Ser ut som å virke greit etter testinga jeg har gjort, men problemet oppstår på textarea. Hvordan skal man gjøre det for at det skal være sikkert og at linjeskift osv ikke forsvinner?

 

Med å bruke ovennevnte funksjon blir det bare rot...

Bruker jeg ikke stripslashes() blir det fx "aaaaaaaaaaa\r\n\r\nbbbbbbbbb"

Med stripslashes() blir samme teksten "aaaaaaaaaaarnrnbbbbbbbbb"

 

Hva må jeg gjøre for å få dette til?

 

Da var det puta neste ;)

 

PS: Hvor ble det av "Tittel #2" når man lager emne?

Lenke til kommentar
Videoannonse
Annonse

Jeg har prøvt det, men det fungerer ikke.

Uten sikkerhetsfunksjonen over fungerer det uten noen funksjoner, men pga htmlspecialchars og/eller mysql_escape_string får jeg bare opp \r\n\r\n.

 

Noen andre som bruker dette i et skjema, og hvordan har dere løst det?

Lenke til kommentar

Ser ut som problemet ble løst likevel. Med å bruke

htmlspecialchars(addslashes(trim($_POST['notes'])));

istedenfor

htmlspecialchars(mysql_escape_string(trim($_POST['notes'])));

fungerte det. Begge deler er trygt tror jeg så da velger jeg den som funker ;)

Lenke til kommentar

Slik som eg har forstott det så bruker du bare mysql_escape_string når du kjører ein query eller legger til noko i ein database.

 

I din sammenheng, så vil du jo sjekke om brukeren virkeleg er i databasen, så kvifor ikkje bare hente ut brukernavnet fra databasen og ? Og deretter plassere det i sessionen.

Lenke til kommentar

Kunne gjort, men for å få det mest brukervennlig har jeg satt all info fra skjemaet i session. Hvis de mangler noe info for å få fullført registrering, sender jeg ham tilbake til skjemaet, og infoen han/hun har fylt ut, kommer opp i skjemaet, så de slipper å fylle det inn igjen.

Finnes sikkert mye enklere måter å gjøre det på, men nå funker det, og da er jeg happy :)

Samt litt artig å ha noe man har laget selv også, ikke bare kopiert kode...

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...