simenss Skrevet 20. september 2007 Del Skrevet 20. september 2007 (endret) Jeg har en funksjon som sjekker alle brukerdefinert variabler (via GET/POST) som bl.annet. sjekkes opp mot og settes inn i databaser. Foreløpig har jeg kun lagt til addslashes() og mysql_real_escape_string(), men regner med at det også er andre funksjoner jeg kan benytte for å gjøre scriptene sikrere. Sikkerheten blir ofte nedprioritert, men denne gangen ønsker jeg å være føre var. Endret 20. september 2007 av simenss Lenke til kommentar
Ståle Skrevet 20. september 2007 Del Skrevet 20. september 2007 Skal man bruke stripslashes() ? oO Trodde man skulle bruke addslashes() jeg. Lenke til kommentar
simenss Skrevet 20. september 2007 Forfatter Del Skrevet 20. september 2007 Skal man bruke stripslashes() ? oO Trodde man skulle bruke addslashes() jeg. 9538998[/snapback] Selvfølgelig, mente addslashes() Lenke til kommentar
MsFoster Skrevet 21. september 2007 Del Skrevet 21. september 2007 (endret) Hei, alle brukerdefinerte data skal sjekkes for korrekt format. Er kun tall godtatt sjekker du mot dette. Skal stringen kun inneholde to tall og to bokstaver bruker du et regulært uttrykk for å sjekke dette. Så lenge du vet at formatet som vedkommende skriver inn er godkjent får det ikke gjort skade. Når det gjelder å skrive til en database anbefaler jeg å bruke funksjonen"quote_smart()". function quote_smart($value) { //Strip slashes if (get_magic_quotes_gpc()) { $value = stripslashes($value); } //Quote if not integer if (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value) . "'"; } return $value; } Dersom du ikke ser fordelene med funksjonen, sjekk ut get_magic_quotes_gpc(). Lykke til Endret 21. september 2007 av MsFoster Lenke til kommentar
simenss Skrevet 21. september 2007 Forfatter Del Skrevet 21. september 2007 Hei,alle brukerdefinerte data skal sjekkes for korrekt format. Er kun tall godtatt sjekker du mot dette. Skal stringen kun inneholde to tall og to bokstaver bruker du et regulært uttrykk for å sjekke dette. Så lenge du vet at formatet som vedkommende skriver inn er godkjent får det ikke gjort skade. Dette gjør jeg individuelt for hver variabel. Jeg tenkte mer på en funksjon som eliminerer eller uskadeliggjør potensiell "farlig" kode, som f.eks. addslashes(). Denne funksjonen skal ikke sjekke variabelens lengde eller format. Når det gjelder å skrive til en database anbefaler jeg å bruke funksjonen"quote_smart()". function quote_smart($value) { //Strip slashes if (get_magic_quotes_gpc()) { $value = stripslashes($value); } //Quote if not integer if (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value) . "'"; } return $value; } Dersom du ikke ser fordelene med funksjonen, sjekk ut get_magic_quotes_gpc(). Lykke til 9541904[/snapback] get_magic_quotes_gpc() var ny for meg. Skal jeg ta en titt på. 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å