Anti bruteforce methodes uitgelegd

Er zijn verschillende "best practises" met betrekking tot anti bruteforce.

Sessies
Er wordt een sessie aangemaakt en er wordt bijgehouden hoe vaak de bezoeker inlogt. Als dit meer is dan een x aantal keer, kan de bezoeker niet meer inloggen.

Veel mensen vergeten echter dat de sessie-ID wordt opgeslagen in een cookie, en dus niet betrouwbaar is. Het verwijderen van je cookies zou dus betekenen dat je weer opnieuw kunt inloggen.

Sessies gebruiken voor anti-bruteforce is dus niet aan te raden.

Blokkade op basis van IP-adres
Er wordt in de database bijgehouden hoe vaak een bezoeker probeert in te loggen door middel van het IP-adres. Als dit meer is dan een x aantal keer, kan de bezoeker niet meer inloggen.

Veel mensen vergeten echter dat het IP-adres kan worden gewijzigd, ofwel door de bezoeker zelf (dial-up, komt nog steeds voor, en bij sommige belgische providers kan het vrij simpel, maar de makkelijkste manier is een proxy te gebruiken). Dat betekend dus dat wanneer een bezoeker x aantal keer heeft geprobeerd om in te loggen, de bezoeker enkel een nieuw IP hoeft aan te vragen.

IP-blokkade gebruiken voor anti-bruteforce is dus niet aan te raden.

Maar wat is dan wel de beste manier?
De beste manier, is om in de database bij te houden welke gebruikers er proberen in te loggen. Dit, in combinatie met IP-adressen is een krachtiger beschermmiddel. Als een bezoeker meer dan x aantal keer heeft geprobeerd in te loggen op account y, wordt het account geblokkeerd gedurende een (willekeurige) tijd. Zelfs wanneer je vanaf een ander IP-adres probeert in te loggen, werkt dit niet. Dit betekend dat de gebruiker een flink arsenaal aan IP-adressen nodig heeft om in te loggen. Het scheelt dat er over het algemeen maar een paar administrators zijn.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Anti bruteforce methodes uitgelegd

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.