Avatar billede -veile- Nybegynder
05. juni 2008 - 21:01 Der er 7 kommentarer og
1 løsning

3 forsøg i login

Hej

Jeg er igang med at lave et Login system til en administrations del, og der vil jeg gerne have sårn at man ikke kan blive ved med at taste brugernavn og password ind, i al uendelighed!

Har tænkt på noget foreach() eller for() løkker! sammen med noget Session.

Men alle mine forsøg har slået fejl. det har da givet nogle sjove resultater ;)
Avatar billede jakobdo Ekspert
05. juni 2008 - 21:10 #1
Spørgsmålet er om vi snakker 3 fejl forsøg for f.eks. brugeren: eksperten eller vi snakker 3 fejl forsøg fra en given ip/bruger ?
Avatar billede -veile- Nybegynder
05. juni 2008 - 21:19 #2
Ville gerne have sårn at man hvis man skrev brugernavn eller password forkert 3 gange så blir man blokeret for den side! og sendt til etc. google.dk
Avatar billede mcnovy Nybegynder
05. juni 2008 - 21:29 #3
-vejle-

tror han mener om det skal være 3 forsøg fra en IP adresse,
eller om det skal være 3 forsøg på et brugernavn..

forestil dig scenariet at;
ip:10.0.0.107 logger ind på din side..
der taster han koden for brugernavn "TestBruger" ind forkert, 2 gange..
sekunder efter logger iP:10.0.0.108 ind på siden..
han prøver også at logge ind på "TestBruger"'s konto, og han taster koden ind forkert 1 gang..
men nu er der blevet tastet en forkert kode ind 3 gange for brugeren "TestBruger"
så nu bliver han frosset ude (eller sendt videre til en anden side)

eller skal det være når den samme IP adresse har tastet en kode forkert ind 3 gange, at den IP adresse bliver frosset ude...
Avatar billede jakobdo Ekspert
05. juni 2008 - 21:29 #4
Så er spørgsmålet igen:
Du kan styre det på session niveau.

FEJL LOGIN
$_SESSION['fail']++;

Hvis $_SESSION['fail'] >= 3
header('Location: http://www.google.dk');
exit();

Problemet er så dem som f.eks. vil hacke dig mere seriøst, vil bruge et program som åbner og lukker hver gang.
De vil altså ikke sende session med fra gang til gang, så de vil aldrig nå længere end $_SESSION['fail'] = 1;

Så du bør evt. bygge det op imod en database, som så gemmer noget ip og fejl forsøg.

Og så kommer spørgsmålet:

Hvad så med en stor skole, som f.eks. har 10.000 brugere, som alle kommer fra samme ip.
Der er 3 hoveder der taster forkert, og så kan ingen af dem bruge din side... :o)

Der er mange sjove udfordringer.
Avatar billede -veile- Nybegynder
05. juni 2008 - 21:32 #5
Jep.. Det er meningen at denne side skal helst kun håndtere en bruger, som så kun har 3 forsøg.

Men havde tænkt på at banne via en IP adresse, men det kan jeg da ikke. Hvis man ikke har en fast IP, så skifter den jo på et tidspunkt og så har den oprindelig bruger som skulle have være bannet adgang til min side igen :S
Avatar billede -veile- Nybegynder
05. juni 2008 - 21:51 #6
Men kom i tanke om at brugeren blir håndteret via en DB.

Så jeg kan jo lave sårn at den opdatere en tabel i mysql og når den så til tallet 3, vil man automatisk blive bannet fra siden og ført til google.dk.

men siger mange tak for hjælpen so far!

Jakobdo smid et svar. tror godt jeg kan løse problemmet nu
Avatar billede jakobdo Ekspert
05. juni 2008 - 21:53 #7
Svar!
Avatar billede jakobdo Ekspert
05. juni 2008 - 22:15 #8
takker for point.
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