Avatar billede simonhans73 Nybegynder
15. december 2006 - 11:27 Der er 11 kommentarer og
1 løsning

sikkerhed og sessions og login

Hej
Jeg er ved at lave et loginscript og kunne godt tænke mig at høre lidt bud på hvordan man skal gøre det sikkert.

Jeg har brugt denne metode

I stedet for at gemme brugernavn og md5(password) i session gemmer jeg en random Md5 der oprettes når bruger logger ind. Ved  login laves en række i database der gemmer random md5 som brugerens id. I denne række skrives også brugernavn og ip addresse.

På den måde kan man ikke ved at stjæle brugerens session få nogle info.

Lyder det godt?

Andre forslag og ideer til at lave høj sikkerhed i loginsystemer vil jeg gerne høre
Avatar billede michaeltryl Seniormester
15. december 2006 - 12:18 #1
spændende spørgsmål. jeg lytter lige med
Avatar billede onkel_satan Nybegynder
15. december 2006 - 13:06 #2
Hvis du mener det er for let at erhverve sig adgang til andres session, ja så har du gjort det lidt mere bøvlet for forbryderen og så alligevel ikke. Hvis de kan opsnappe din session hvor du gemmer brugernavn og md5(pass) kan de også opsnappe din midlertidig random md5 brugerid. At forfalske brugernanv og ipadresse er intet problem heller. Og så snart de har fat i din session kan de blive ved med at holde den i live.

Sandheden er i virkeligheden at den her slags kommunikation/sikkerhed (som du brskriver) er meget sårbar og kan med relativ lethed brydes. Problemet lægger i at du kommunikere over et public media hvor ALLE kan lytte med og da standart html data bliver sendt som plain text kan du som ordet siger, læse det direkte.
Så for at gøre det mere sikkert skal du have krypteret din data mellem brugeren og webserveren hvilket oftes gøres med public/private key kryptering.
Skal endnu et level up hedder det certificates og endnu et level op introduseres smart keys.
Men nu er vi altså også oppe i et seriøst sikkerheds niveau. Det næste skridt for dig ville jeg mene er kryptering af din data over internettet så det ikke kan læses af andre.
Avatar billede simonhans73 Nybegynder
15. december 2006 - 13:15 #3
ok interessant..jeg vil læse lidt om kryptering. Hvis du har et link er det fint.

I den metode jeg beskriver kan brugeren jo kun bruge session hvis han har samme ip-addresse og kun indtil sessionen udløber hvad den gør efter fx 1 dag.

..hvis hackeren får fat i login informationer på den side hvor brugeren logger in er der godt nok et problem. Så vil han kunne logge in på legitim vis og for oprettet en session med sin egen ip addresese. ....Er det det vi vil undgå med kryptering?
Avatar billede simonhans73 Nybegynder
15. december 2006 - 13:27 #4
har søgt på "public/private key kryptering"
men der kommer ikke rigtigt noget brugbart frem

Hvis du har et hint til hvad jeg skal lede efter ville det være fint.

Skal det krypteres med javascript på brugerens side eller hvordan?
Avatar billede onkel_satan Nybegynder
15. december 2006 - 13:33 #5
"den metode jeg beskriver kan brugeren jo kun bruge session hvis han har samme ip-addresse og kun indtil sessionen udløber hvad den gør efter fx 1 dag."
1) IP adresser er meget simpelt at forfalske. Det er plain tekst som findes i headeren. Alle og en hver kan ændre og skrive hvad de vil i headeren.
2) Sessions lever i x tid efter sidst set. Lad x=10 min. Hvert 9. min updatere jeg siden og dermed også min session. Derved kan jeg bruge den til evigtid bare jeg husker at updateren den inden for 10 min.

"..hvis hackeren får fat i login informationer på den side hvor brugeren logger in er der godt nok et problem. Så vil han kunne logge in på legitim vis og for oprettet en session med sin egen ip addresese. ....Er det det vi vil undgå med kryptering?"

Krypteringen er til for at ungå, at andre for fat i vores brugerid/pass. Er ens brugerid/pass en gang kompromitteret er skaden sket og du skal have et nyt.

Jeg har desværre ikke lige noget link til dig da jeg benytter en bog men du kan jo prøve at google "secure html".
Avatar billede simonhans73 Nybegynder
15. december 2006 - 13:46 #6
hviket sprog bruges til at kryptere? er det javascript?  ..der skal vel gøre på brugersiden før det sendes ud på webben?
Avatar billede onkel_satan Nybegynder
15. december 2006 - 13:47 #7
Jeg har kun prøvet at implementere kryptering i java og c# så jeg kan ikke umiddelbart fortælle dig hvordan du bære dig ad i html. Men ved at SSH er meget brugt og lur mig ikke om php ikke også understøtter det.
Avatar billede simonhans73 Nybegynder
15. december 2006 - 16:45 #8
ok..
Men jeg er egentlig interesseret i hvordan man inden for rammerne af hvad php kan gør det bedst muligt. Er der nogen der har et forslag til det?
Avatar billede sibbelone Nybegynder
15. december 2006 - 17:03 #9
Prøv at søg på shttp
ved ikke alverden om det men mener at shttp krypter data
Avatar billede sibbelone Nybegynder
15. december 2006 - 17:05 #10
Avatar billede onkel_satan Nybegynder
15. december 2006 - 17:29 #11
Avatar billede simonhans73 Nybegynder
28. december 2007 - 13:07 #12
Lukker
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