glennsjo Skrevet 10. mars 2006 Del Skrevet 10. mars 2006 Jeg har laget et admin-system med innlogging og bruk av session. Brukerne plukkes fra en database der de forskjellige er registrert med ulike brukernivåer. Jeg har testet dette med de ulike brukerne, og alt vises riktig. Altså det valgte brukernivå plukker riktig. Likevel må jeg spørre for sikkerhets skyld. Alt ligger nemlig i samme fil, index.php. Dette er koden jeg bruker: <? if ($myquery[brukernivaa] != 5 ) { ?> tekst <? } ?> Når jeg altså tester med brukernivå 5 får denne ikke lese denne teksten. <? if ($myquery[brukernivaa] == 1 || $myquery[brukernivaa] == 2 || $myquery[brukernivaa] == 5) { ?> En annen type informasjon <? } ?> Mens brukernivå 5 får lese denne informasjonen, sammen med 1 og 2. Dette er også testet og viser riktig. Det som gjør meg litt usikker er jo at disse kodene ligger rett under hverandre i fila (sammen med mange andre forskjellige varianter av nivåer). Det er over 10 brukere og fem ulike brukernivåer så langt. Ja, jeg vet det er php og serverscript, men likevel ønsker jeg å forsikre meg om at dette er trygt. Og mysql-fila ligger også i .php. Så; er dette trygt nok? Er det noen annen måte jeg heller bør gjøre dette på for at det skal være enda tryggere? Lenke til kommentar
glennsjo Skrevet 15. mars 2006 Forfatter Del Skrevet 15. mars 2006 Da antar at jeg det er trygt og godt... Lenke til kommentar
trondes Skrevet 15. mars 2006 Del Skrevet 15. mars 2006 Da antar at jeg det er trygt og godt... 5758214[/snapback] Ser da greit ut det, men du kan jo gjøre det litt enklere da. <?php // setter bruker data til denne, slik at jeg har den til sendere bruk, navn,nivå osv.. $brukerdata['brukernivaa'] = 4; // til denne har bare level 3 og 2 tilgang if(level_check(2,3)) print "tilgang"; else print "ikke tilgang"; function level_check( ){ global $brukerdata; $arg = func_get_args(); if(is_array($arg)){ foreach( $arg as $nr => $level) if($level == $brukerdata['brukernivaa']) return true; } else if($brukerdata['brukernivaa']) // hvis ikke noe blir sendt videre, sjekker vi om bruker er innlogget.. return true; return false; } ?> Kanskje ikke vitsi hvis du bare skal bruke den en gang da.. men greit å ha 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å