Pangaea Skrevet 26. april 2004 Del Skrevet 26. april 2004 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
Nervetattoo Skrevet 27. april 2004 Del Skrevet 27. april 2004 Et uhyre enkel og sikker måte er bare å fjerne alle < og >. Gjøres lett med noe regex. Det pluss fjerning av mysql kommandoer fra bruker input. Lenke til kommentar
Pangaea Skrevet 27. april 2004 Forfatter Del Skrevet 27. april 2004 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
Nervetattoo Skrevet 27. april 2004 Del Skrevet 27. april 2004 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
torms Skrevet 17. august 2004 Del Skrevet 17. august 2004 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
The Red Devil Skrevet 17. august 2004 Del Skrevet 17. august 2004 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
Torbjørn Skrevet 17. august 2004 Del Skrevet 17. august 2004 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
Gilbert Skrevet 17. august 2004 Del Skrevet 17. august 2004 hva er tilfellet ved bruk av magic quotes - hva trener man da i tillegg? Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå