Avatar billede jd Nybegynder
16. november 2000 - 21:29 Der er 12 kommentarer og
3 løsninger

sessions og sikkerhed

Davs...

Jeg sidder lige og laver noget brugersystem-halløj, og benytter selvfølgelig sessions :)
Så er det er jeg får den geniale idé at jeg bare kan gemme brugerens id, og så tjekke med $HTTP_SESSION_VARS[brugerid] om brugeren er logget ind...for en bruger kan vel ikke fuske sig til at sætte en session uden at være registreret og logget ind, vel?
Mit spørgsmål går så på hvor vidt det er sikkert nok kun at tjekke om brugerid\'et er sat, eller om jeg også skal gemme pass, og så tjekke op med db\'en..??

Det var lidt svært at få formuleret forståeligt, så sig til hvis der er noget i ikke forstår!

/Jon@z
Avatar billede hmmbobby Nybegynder
16. november 2000 - 21:41 #1
jhojo
Avatar billede hmmbobby Nybegynder
16. november 2000 - 21:41 #2
jaaa
Avatar billede hmmbobby Nybegynder
16. november 2000 - 21:45 #3
hihi
Avatar billede steffen Nybegynder
16. november 2000 - 22:17 #4
Det kn du roligt gøre. Det er teoretisk muligt at fuske sig til sådan et session-id, men chancerne er _rigtigt_ små.
Avatar billede jd Nybegynder
16. november 2000 - 22:56 #5
Hmmmbobby-> Hvad går der galt?

Steffen-> Oki...afventer lige et par svar mere!

/Jon@z
Avatar billede aggie Nybegynder
17. november 2000 - 09:54 #6
Jeg kører med et system nu, der laver et random session id

mt_srand ((double) microtime() * 1000000);
$SeshID = mt_rand(99999,999999);

$time=mktime();

setcookie (\"SeshID\", $SeshID,time()+3600, \"/\", \".mitsted.dk\", 1);

$SQL_query_string = \" INSERT INTO sessions ( seshid , status , inittime ) VALUES ( \'$SeshID\' , \'1\' , \'$time\' ) \";

DoSQL($SQL_query_string) or die(\"Database barfed. Go away.\");

hvis du bruger mt_rand, så er chancerne for at fake et SeshID *meget* små...
Avatar billede jd Nybegynder
17. november 2000 - 15:48 #7
tænkte nok at der var mere bag... måske udtrykte jeg mig ikke klart nok?
Det jeg mente var om

<?
if($HTTP_SESSION_VARS[\'brugerid\']){
vis nogle hemmerlige brugerdata
else{
du er ikke logget ind!
}
?>

Ville være sikkert nok....altså uden at lave noget session-id...??

/Jon@z
Avatar billede lojmann Nybegynder
17. november 2000 - 17:43 #8
jd -> Jeg ville mene det var sikkert nok. Du kunne jo være så \"fræk\" at lave et random ID, som du samtidig smider i en cookie, som så verificeres hver gang - evt. samme som en af dine session variabler - bare en tanke :)
Avatar billede jd Nybegynder
17. november 2000 - 17:46 #9
lojmann-> Jeg har forstået det med random-id, men det ville være klart lettest uden!!
Avatar billede lojmann Nybegynder
17. november 2000 - 18:06 #10
WHY?
Avatar billede jd Nybegynder
17. november 2000 - 18:25 #11
FORDI: :) ...at uden session-id, kan jeg bare bruge if($HTTP_SESSION_VARS[brugerid]) til at tjekke om en bruger er logget ind...
Ellers skal jeg hele tiden tjekke op med db\'en med de oplysninger der er gemt i sessionen på alle beskyttede sider!
Avatar billede lojmann Nybegynder
18. november 2000 - 17:44 #12
Det gør vel heller ikke noget jd? Du kan jo gøre det inde at siden vises...
Men det andet er også sikkert nok til det. Du ved, der er jo ikke noget som er helt sikkert eller det som ligner, der er ALTID en vej uden om... ;)

Så... ;)
Avatar billede jd Nybegynder
19. november 2000 - 14:18 #13
jepper.... der er altid en vej udenom, men jeg ville bare gerne om der var nogen der kunne fortælle mig hvor vidt min løsning er lige så sikker som alt muligt andet...

/Jon@z
Avatar billede jd Nybegynder
22. november 2000 - 19:29 #14
come on... er der virkelig ikke nogen der har noget dokumentation, eller bare ufattelig viden om dette? :)
Avatar billede jd Nybegynder
29. november 2000 - 18:49 #15
så må jeg jo lave det på den besværlige måde :)

(jeg skriver bare en login-funktion :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester