Gå til innhold

addslashes mm


Anbefalte innlegg

Det finnes mange måter å sikre at man får inn den dataen man vil ha i databasen. Hva er best å bruke når man bare vil få ut ren tekst fra databasen, dvs ikke mulighet for <b> osv, men med mulighet for apostrof, fx "Pangaea's båt"

 

Har lest litt om diverse funksjoner nå, men har litt dårlig oversikt...

  • htmlspecialchars
  • htmlentities
  • addslashes
  • stripslashes
  • strip_tags
  • trim

For å få ut data riktig tror jeg dette er rett å bruke. Riktig?

echo strip_tags(stripslashes(trim($string)));

 

Men hvordan sikrer man at rett data går inn i databasen. Bruker man addslashes(), og folk legger på en slash i selve teksten blir det jo bare rot...

 

echo htmlspecialchars(addslashes($string));

 

Kan noen si om jeg er i riktig retning? Og har dere noen tips?

Lenke til kommentar
Videoannonse
Annonse

Regex er jeg helt på jordet med. Noen bra tutorials?

 

Det verste som kan skje er vel at noen klarer å skrive inn sql kode i et felt og slette data i databasen... Nå går jeg ikke akkurat ut ifra at siden min kommer til å bli hackermål akkurat, men greit å være litt sikret vertfall ;)

 

Vil det jeg nevnte i første post fungere?

Lenke til kommentar

Det verste som kan skje er at noen henter ut loggin informasjon til mysql databasen din. Da vil de ha full kontroll. Opprett en egen web bruker i mysql som du kobler opp med, ikke bruk root. Sett kun rettigheter til select, insert, update, og hva annet du kan trenge.

Bruk: mysql_escape_string() på bruker input for å fjerne eventuelle mysql koder de måtte finne på å skrive inn.

Sjekk på php.net i manualen på den funksjonene du nevner, les "user comments", det står det nok en del gode metoder for å være helt sikker.

 

Sikkerhet er viktig, sjekking av bruker input er egentlig ikke et spørsmål, det er et krav, burde være det i hvertfall.

Lenke til kommentar
  • 3 måneder senere...

Lurer på en ting:

 

Bruker diverse former som input til tabeller i databasen.

Det er kun ren tekst som skal lagres.

Det vil si at ingen spesialtegn skal brukes, inkludert apostrofer.

 

 

Er jeg da noenlunde trygg hvis jeg bruker "strip_tags" i php?

Må jeg likevel bruke "mysql_escape_string"?

Er det noe annet jeg bør tenke på?

 

-torms

Lenke til kommentar

Alltid bruk mysql_escape_string (eller mysql_real_escape_string på nyere php versjoner) for å være heilt sikker på at det ikkje kan forekomme ein sql injection.

 

Iallefall bruker eg denne på alt data som bruker kan ha manipulert, data som eg bestemmer mens scriptet kjører legger eg bare inn i databasen siden det altid vil være ein korrekt verdi osv.

Lenke til kommentar

godt spørsmål.. kan fortone seg noe uoversiktlig for selv garvede programmerere.

 

dbx_escape_string, escapeshellarg, escapeshellcmd, pg_escape_bytea,

pg_escape_string, pg_unescape_bytea, addslashes, addcslashes, preg_quote, quotemeta, mysql_escape_string, mysql_real_escape_string, mysqli_real_escape_string, sqlite_escape_string

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