Gå til innhold

Banne en IP i 15 min hvis den tar feil passord 5 ganger.


Anbefalte innlegg

Videoannonse
Annonse

Legg alle som skriver feil passord/brukernavn i en tabell (f.eks feil-logg) med IP.

Sjekk hver gang noen prøver å logge inn om ipen ligger 5 ganger i tabellen.

Hvis ja: Legg til ipen i en annen tabell (f.eks ban) og time()+900

 

Øverst i scriptet sjekker du om ipen brukeren kobler til fra ligger i ban tabellen.

Hvis timestamp kolonnen er mer enn time() så er brukeren bannet.

 

Hvis timestamp kolonnen er mer enn gjeldende time() slettes brukeren fra ban og alle feil-logg oppføringer med ipen.

Siden oppdateres.

 

Dette er måten jeg har gjort det på, muligens det finnes bedre løsninger :)

Lenke til kommentar

Barn er ofte på skolen, og jeg vet at bl.a. at oslo-skoler sitter på samme nettverk, med samme IP. Skulle tro det heller ville være lurere å gjøre dette med sessions. IPen i $_SERVER kan dessuten spoofes, så det er ikke det beste du kan bruke for å unngå bruteforce-angrep.

Endret av Jonas
Lenke til kommentar

Kan ikke brukeren bli kvitt sessions selv?

 

Hmm,, Jeg kan jo prøve å gjøre det slik at hvis de skriver inn feil brukernavn og passord 5 ganger på samme brukernavn så blir de banna på den IP'en hvis de prøver å logge inn med den brukeren...

Lenke til kommentar

Absolutt, lagres jo i cookies. :wallbash:

 

Glem sessions.

 

Edit: Det som er vanlig, er å linke slike sikkerhetsmomenter til brukeren man prøver å logge inn på, ikke brukeren som prøver å logge inn. Si f.eks. at dersom man prøver fem ganger, så får man en captcha-utfordring. Det forhindrer bruteforcing.

Endret av Jonas
Lenke til kommentar

En mulighet er å gjøre som Goggen90 sa, men bare med brukernavn. så bruker du også cookies for å stoppe clienter mot generell bruteforce. Om brukeren i andre enden forsetter å gjøre hyppige "angrep" kan jo du også sette en tids limit som sier at en kan ikke prøve å logge på mere enn 1 gang pr 5 sekunder. (stopper de fleste som tenker på bruteforce angrep) Og du kan jo også si at hvis en bruker prøver å logge på mere enn 20 ganger med feil passord må bruker enten spørre om ny aktiverings kode, eller vente 24 timer på ny aktiverings kode.

 

Å komme 100% unna et slikt problem som dette kommer du aldri.

Lenke til kommentar

Det enkleste er vel å gjøre som Goggen90 sa, men heller slenge opp en captcha-utfordring etter et visst antall forsøk, i stedet for å banne IP-en, som kan by på problemer.

 

Edit: Om du velger å gi brukeren en ny aktiverings kode etter et visst antall forsøk, så kan jo dette også brukes av venner for å plage hverandre, selv om det ikke er like irriterende som å få brukeren sin bannet. Jeg ville i hvert fall blitt irritert om jeg opp til flere ganger måtte aktivere kontoen min på ny.

Endret av Bakke
Lenke til kommentar

I mitt brukersystem ble brukere tidligere bannet "for alltid" og man måtte kontakte en som hadde tilgang til ban modulen i systemet. Da var det masse mas om unban hele tiden, nå etter jeg la til unban etter 10min ble det rolig :)

 

Hvis en person skriver inn feil brukernavn og/eller passord 5 ganger får alle personer på den ipen opp melding om at ipen er utestengt, at det er pga. for mange feil innloggingsforsøk og at det vil bli opphevet <bantid>+10min.

 

Snakker nå om et system med 400 brukere, fungerer fint der, fungerer nok ikke så bra i et system med 10 000 brukere.

Endret av Goggen90
Lenke til kommentar

Joja ok men jeg har planer om og banne en bruker fra en IP

 

Si da vi har lik IP også heter jeg Rudde og du heter Goggen

 

Så logger jeg på feil med Rudde 5 ganger å blir blokket

 

Så kan ikke jeg logge eller du logge på Rudde fra den IP'en men du kan fint logge på Goggen fra samme IP ;)

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...