Avatar billede braghe90 Nybegynder
25. maj 2003 - 18:01 Der er 12 kommentarer

sikkerhedsidé til sessions

Jeg har ikke særlig meget erfaring med PHP-sikkerhed og sidder og roder med et login/admin-system. Jeg ved dog at det er lidt for nemt at 'snuppe' et sessid, så derfor tænkte jeg på, om man ikke bare kunne lave et index - $_SESSION['ip'] - der indeholder brugerens ip. når brugeren så logger ind oprettes dette index, og hver gang en ny side besøges sammenlignes $_SESSION['ip'] med brugerens ip og brugeren logges så af, hvis de ikke er ens. Er der nogle åbenlyse huller jeg ikke har fået øje på?
Avatar billede postndk Nybegynder
25. maj 2003 - 18:05 #1
hvis en bruger sidder på et alm. modem, så får man jo ikke samme ip hver gang man kalder op !!
Avatar billede braghe90 Nybegynder
25. maj 2003 - 18:14 #2
Men denne ip gælder kun for én session... Næste gang brugeren logger ind (opgiver kodeord) opdateres ip'et (og jeg regner ikke med at sessionen behøver at overleve en genstart af modemet/computeren ;) )
Avatar billede somaliomar Praktikant
25. maj 2003 - 18:26 #3
Hvad så hvis der er flere bruger med samme IP-nummer. Altså fra den samme lokal-netværk.
Avatar billede braghe90 Nybegynder
25. maj 2003 - 19:55 #4
Har jeg ikke overvejet... men det vil vel kun være et problem, hvis en af dem prøver at overtage en andens sessid, hvilket er højst usandsynligt - men et hul er det :(
Avatar billede puddelundercover Nybegynder
25. maj 2003 - 21:38 #5
... du ku jo lave id'et som IP + en random string, delt af et eller andet tegn så du kan splitte skidtet?

hvis to brugere på samme netværk skulle gå hen og få samme random string (f.eks. djd833y6e859sbh12m) så er der seriøst et eller andet galt med, at jeg aldrig kan ramme rigtigt i lotto.
Avatar billede braghe90 Nybegynder
26. maj 2003 - 11:28 #6
Men hvordan skulle jeg gemme denne tilfældige streng hos brugeren? Den eneste mulighed jeg kan se er at gemme den i en cookie (eller er der noget jeg ikke har tænkt på?), men jeg vil også have, at mit system virker uden brug af cookies... En anden mulighed er muligvis at hente alle tilgængelige oplysninger om klienten (browser, OS mv.) og generere et id ud fra disse oplysninger, men i et netværk med samme ip, er der en seriøs risiko for, at alle har nøjagtig samme opsætning...

Nogen ideer?
Avatar billede puddelundercover Nybegynder
30. maj 2003 - 15:59 #7
.... tjoh, bliver nok lidt svært... f.eks. på en skole eller et stort firma - der har alle computere som regel samme opsætning... så hvis du vi undgå cookies, er din eneste mulighed nok at sætte SID'et på samtlige links... desværre...
Avatar billede braghe90 Nybegynder
03. august 2003 - 20:48 #8
Tak for inputtet, pointene deles mellem de af jer der gider skrive et svar...
Avatar billede somaliomar Praktikant
03. august 2003 - 20:50 #9
braghe90 > Har du fundet en smart løsning?
Avatar billede squashguy Nybegynder
03. august 2003 - 20:55 #10
braghe... man kunne få meget sjov ud af din idé.. det er en sikker måde at få logge andre brugere af...
Avatar billede squashguy Nybegynder
03. august 2003 - 20:58 #11
sidder man ikke på samme lan, er mulighederne for at sniffe en brugers sessionid normalt ikke så stor.
Avatar billede squashguy Nybegynder
03. august 2003 - 20:59 #12
og i så fald sniffer man jo bare brugerens username/password
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