Gå til innhold

Sjekke brukerdefinerte variabler


Anbefalte innlegg

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 av simenss
Lenke til kommentar
Videoannonse
Annonse

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 av MsFoster
Lenke til kommentar
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

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