madompa Skrevet 11. mai 2008 Rapporter Del Skrevet 11. mai 2008 (endret) Si jeg vil lage en startside hvor folk kan registrere seg og logge seg inn, f.eks. slik iGoogle gjør det. Hva er da den beste måten å gjøre at man blir holdt pålogget så lenge som mulig, og også om man åpner og lukker nettleseren? Sessions/cookies holder vel bare under én sesjon? Er det trygt nok å bruke IP-adressen? Endret 11. mai 2008 av madompa Lenke til kommentar
pulse Skrevet 11. mai 2008 Rapporter Del Skrevet 11. mai 2008 Da må du nok ta i bruk cookies. Lenke til kommentar
Jonas Skrevet 12. mai 2008 Rapporter Del Skrevet 12. mai 2008 Det er dumt å bruke IP-adresse som identifikasjon, da den ofte endres fra tid til annen. Lenke til kommentar
Runar0 Skrevet 12. mai 2008 Rapporter Del Skrevet 12. mai 2008 Du må nok i gang med ein kombinasjon av cookies, nettleser detaljer og ip addresse. Det kan og sikkert vere lurt å kreve ein reidentifisering av brukeren før han kan utføre for eksempel administrative oppgaver. Lenke til kommentar
madompa Skrevet 12. mai 2008 Forfatter Rapporter Del Skrevet 12. mai 2008 Okei Men skal jeg bruke sessions sammen med cookies, eller bare en simpel cookie? Er det slik at en session maks kan vare i 5 timer? Altså, først sjekker jeg cookien, stemmer den så sjekker jeg om informasjon fra browseren stemmer? Bør jeg da la være å dobbeltsjekke med ip-adressen, siden den kan forandre seg? Nettleserdetaljene er ikke unike for hver bruker, right? Men om cookien skulle feile, kan jeg bruke en kombinasjon av ip-adresse og nettleserdetaljer? Lenke til kommentar
Danny92 Skrevet 12. mai 2008 Rapporter Del Skrevet 12. mai 2008 En cookie kan vare evig til du til slutt sletter den manuelt eller med opprydingsprogrammer. Det går an og sette hvor lenge en cookie skal vare og.. Lenke til kommentar
Runar0 Skrevet 12. mai 2008 Rapporter Del Skrevet 12. mai 2008 (endret) Altså det eg ville gjort er å lage ein unik hash for brukere når han logger inn, for eksempel sammensatt av brukerid og tid. Denne ville eg så ha lagt i ein cookie variabel. Deretter ville eg laga ein ny hash basert på informasjon om webleseren, ip addresse og den første hashen og lagra den i ein database eller liknande. Til slutt ville eg tatt iden i $_COOKIE, generet iden eg lagde i punkt to igjen, og sett om den matcher den i databasen. // Steg 1 $id = md5($brukerid . microtime()); set_cookie('permlogin', $id, time()+60*60*24*365); // Steg 2 $dbid = md5($id . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']); // Lagre denne i databasen // Steg 3 $testid = md5($_COOKIE['permlogin'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']); // Skjekk denne mot brukertabellen og logg inn brukeren vist du finner ein match Endret 12. mai 2008 av Runar0 Lenke til kommentar
madompa Skrevet 12. mai 2008 Forfatter Rapporter Del Skrevet 12. mai 2008 Altså det eg ville gjort er å lage ein unik hash for brukere når han logger inn, for eksempel sammensatt av brukerid og tid. Denne ville eg så ha lagt i ein cookie variabel. Deretter ville eg laga ein ny hash basert på informasjon om webleseren, ip addresse og den første hashen og lagra den i ein database eller liknande. Til slutt ville eg tatt iden i $_COOKIE, generet iden eg lagde i punkt to igjen, og sett om den matcher den i databasen. // Steg 1 $id = md5($brukerid . microtime()); set_cookie('permlogin', $id, time()+60*60*24*365); // Steg 2 $dbid = md5($id . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']); // Lagre denne i databasen // Steg 3 $testid = md5($_COOKIE['permlogin'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']); // Skjekk denne mot brukertabellen og logg inn brukeren vist du finner ein match Ser ikke dumt ut, takk. Hvor ofte er det egentlig noen skifter ip-adresse? Er dét noe jeg bør ta til etterretning? Lenke til kommentar
Runar0 Skrevet 12. mai 2008 Rapporter Del Skrevet 12. mai 2008 Tror eg har hatt samme ip siden eg skifta internett leverandør, det at folk skiftet ip ofte var i de dager da 56kbit og 128kbit ISDN var kult Lenke til kommentar
Dryper Skrevet 14. mai 2008 Rapporter Del Skrevet 14. mai 2008 Tror eg har hatt samme ip siden eg skifta internett leverandør, det at folk skiftet ip ofte var i de dager da 56kbit og 128kbit ISDN var kult Tull tull tull tull tull tull. og jeg gjentar TULL. Om ipen din ikke skifter så har du nokk STATISK. IP adresse. Dette får du ikke fra Telenor, Tele2 og de fleste levrandører. men Du kan vel betale for å få det. jeg selv betalte 20kr måneden for å få det xD Så for de aller fleste skifter vel ipen. Det er vel egentlig ikke å identifisere med ip. plutselig så dukker det opp en fyr me proxy xD Hilsen Dryper Lenke til kommentar
Runar Skrevet 14. mai 2008 Rapporter Del Skrevet 14. mai 2008 Dryper har rett, men det er som oftest kun den siste delen av ip-adressen som byttes ut. Dette skjer vel ikke andre ganger enn når modemet restartes? Lenke til kommentar
madompa Skrevet 14. mai 2008 Forfatter Rapporter Del Skrevet 14. mai 2008 Så konklusjonen er at jeg ikke bør bruke IP til innlogging, eller? Lenke til kommentar
MrLee Skrevet 14. mai 2008 Rapporter Del Skrevet 14. mai 2008 Tror eg har hatt samme ip siden eg skifta internett leverandør, det at folk skiftet ip ofte var i de dager da 56kbit og 128kbit ISDN var kult Tull tull tull tull tull tull. og jeg gjentar TULL. Om ipen din ikke skifter så har du nokk STATISK. IP adresse. Dette får du ikke fra Telenor, Tele2 og de fleste levrandører. men Du kan vel betale for å få det. jeg selv betalte 20kr måneden for å få det xD Så for de aller fleste skifter vel ipen. Det er vel egentlig ikke å identifisere med ip. plutselig så dukker det opp en fyr me proxy xD Hilsen Dryper I teorien ja. Men i praksis har jeg f.eks. hatt samme IP adressen helt siden jeg skiftet leverandør. Det er snakk om at IPen kan endres når du f.eks. resetter router eller lar den være av i lengre tid, men i praksis har de fleste den samme IPen så fremt de ikke har grusomt ustabile linjer og mister tilkoblingen hele tida (i.e. får tildelt en ny IP fra ISPs DHCP server hele tida). MEN Det er ikke det samme som at IP addresse er en god måte å identifisere en bruker på, det er faktisk en elendig måte å gjøre det på Lenke til kommentar
Runar0 Skrevet 14. mai 2008 Rapporter Del Skrevet 14. mai 2008 Greit, var nok ingen god ide og binde dette opp mot ip addressen, tok ein titt på nettet og kom over to ganske gode artikkler rundt dette temaet. Ta ein titt på http://fishbowl.pastiche.org/2004/01/19/pe...e_best_practice og http://jaspan.com/improved_persistent_logi...e_best_practice Lenke til kommentar
grimjoey Skrevet 18. mai 2008 Rapporter Del Skrevet 18. mai 2008 (endret) jeg mener å ha lest at cookies med negativ utløpsdatotid vil vare evig i de fleste browsere. session_set_cookie_params(time()-1000); //setter cookie lifetime til nåtid minus 1000 ms session_start(); // starter session session_regenerate_id(); // regenererer id som er en god ide når session'en brukes over en lang periode. dette vil generere en session tabell på serveren som har en entry for hver bruker som noen gang har logget inn (det er mulig php har en timeout på hvor lenge den lagrer session data uavhengig av cookie lifetime. da vil ikke dette fungere like bra, men du vil heller ikke ha et så stort sikkerhetsproblem). det vanlige er å ha en tabell med entryer for hver bruker som er pålogget for øyeblikket. jo større session tabellen er jo større er sannsynligheten for at en angriper lykkes. endring: forresten. default lifetime for en session cookie er 0. dvs til browseren avsluttes. du kan jo sette den til time()+(30*24*60*60*1000) som er + 1 mnd frem i tid cirka. og så resette den hver gang brukeren er innom. Endret 18. mai 2008 av grimjoey Lenke til kommentar
JohndoeMAKT Skrevet 18. mai 2008 Rapporter Del Skrevet 18. mai 2008 Angående cookies og levetid spesifiserer standarden maks ett år. 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å