Login pogingen beperken in WordPress: plugin-keuze zonder marketingpraat

Welke plugin gebruik je om login pogingen te beperken in WordPress? Drie populaire opties vergeleken, plus het alternatief op edge-niveau.

· 1 augustus, 2026 · 6 min lezen
In dit artikel

Login pogingen beperken in WordPress is een van de eerste maatregelen die ik op een nieuwe klant-site instel, en eentje die in vijf minuten geregeld is. In mijn server-logs zie ik op niet-beschermde sites makkelijk vijftig tot driehonderd loginpogingen per dag, vrijwel allemaal van geautomatiseerde botnets. Het goede nieuws: je hebt geen dure plugin nodig om dit aan te pakken. Een gehackte site is vervelend, geen ramp, en dit voorkomen is bijna gratis.

Dit artikel vergelijkt de drie meest gebruikte plugins, benoemt wanneer je beter geen plugin gebruikt, en sluit af met de combinatie die ik bij klanten standaard inzet.

Werkplek voor het vergelijken van WordPress login-beperkings plugins met vergelijkingstabel telefoon notificatie en brochures

Wat een brute-force aanval op WordPress is en hoeveel het voorkomt

Een brute-force-aanval probeert wachtwoorden te raden door duizenden combinaties te testen. Voor WordPress is het meest voor de hand liggende doelwit /wp-login.php met de username admin of de bedrijfsnaam.

In de praktijk gaat het bijna altijd om botnets: netwerken van gehackte computers en routers die wereldwijd POST-requests sturen naar willekeurige WordPress-sites. Elke individuele bot doet maar een paar pogingen vanaf hetzelfde IP, om plugin-detectie te omzeilen.

Op niet-beschermde sites zie ik in mijn logs gemiddeld 50 tot 300 pogingen per dag. Bij iets oudere of populairdere domeinen makkelijk in de duizenden. Dat is geen reden tot paniek, maar wel reden om er iets aan te doen, al was het maar om je server-load te verlagen.

Login pogingen beperken in WordPress: drie manieren op een rij

Voordat ik plugins ga vergelijken: er zijn drie lagen waarop je dit kunt aanpakken.

  1. Plugin op WordPress. Limit Login Attempts Reloaded, Loginizer, WP Cerber.
  2. Server-niveau. Nginx rate-limiting, fail2ban op de access-logs van Apache.
  3. Edge-niveau. Cloudflare custom rule met rate limit op /wp-login.php.

Elke laag heeft eigen sterke punten. Plugins zijn de simpelste te installeren en geven de site-eigenaar inzicht via een dashboard. Server-niveau is sneller en kost geen PHP-resources. Edge-niveau vangt botnets af voordat je server ze überhaupt ziet.

In de praktijk combineer ik vaak edge (Cloudflare) met een plugin op origin-niveau. Daarover later meer.

Vergelijking van Limit Login Attempts Reloaded Loginizer en WP Cerber instellingen voor WordPress login beperking

Limit Login Attempts Reloaded: de standaardkeuze

Limit Login Attempts Reloaded is een fork van de oorspronkelijke plugin die jaren niet meer onderhouden werd. De huidige versie heeft 1 miljoen plus actieve installaties, wordt regelmatig bijgewerkt en heeft geen kritische CVE in de geschiedenis.

Wat hij doet:

  • Lockout na X mislukte pogingen
  • Configureerbare lockout-duur, uitbreidbare lockout na herhaalde lockouts
  • Whitelist voor eigen IP’s
  • Optionele e-mail-melding bij lockout
  • Logging van pogingen met IP, gebruikersnaam en tijdstip

Aanbevolen instelling die ik standaard gebruik:

  • 4 toegestane pogingen
  • 20 minuten lockout
  • 24 uur lockout na 3 herhaalde lockouts
  • Notificatie aan na de derde lockout

Geschikt voor: 95% van de WordPress-sites die geen ander mechanisme hebben draaien. Voor wie het simpel en gratis wil houden, is dit de keuze.

Niet geschikt voor: sites met meerdere admins die vanaf wisselende locaties werken (dan kun je elkaar uitsluiten). Daar werkt edge-rate-limit beter.

Loginizer: wat het extra biedt en wat de catch is

Loginizer telt 2 miljoen plus installaties en biedt naast login-limit ook 2FA, login-pagina-rebranding en challenge-questions in de Pro-versie (vanaf USD 24 per jaar).

Wat hij doet:

  • Lockout-mechanisme vergelijkbaar met LLAR
  • Tweetraps-authenticatie via TOTP (Pro)
  • Optie om wp-login.php te hernoemen
  • Login als JSON challenge (Pro)
  • IP-blacklist en whitelist

De kanttekening: in 2020 had Loginizer een ernstige CVE waarbij de plugin zelf een SQL-injectie-vector vormde. Dat is sinds oktober 2020 opgelost en de codebase is uitgebreid geaudit. Geen reden om hem nu te mijden, wel een reden om alles bij te houden.

Geschikt voor: wie 2FA en login-bescherming uit één plugin wil. Wie nu LLAR draait en niets extra’s nodig heeft: blijf bij LLAR.

WP Cerber: voor wie meer wil dan alleen login-limit

WP Cerber is geen pure login-plugin maar een security-suite: login-bescherming, anti-spam, file-integrity-scanning en een eigen WAF op origin-niveau. 200.000 plus installaties, betaalde versie vanaf USD 99 per jaar voor de zakelijke variant.

Wat hij doet:

  • Alles wat LLAR doet, plus citizen-ban (block IP’s automatisch op basis van gedrag)
  • File-integrity-monitoring
  • Anti-spam zonder Akismet
  • Login-pagina hernoemen
  • Toegangscontrole op REST API en XML-RPC

Geschikt voor: wie geen aparte plugins voor anti-spam, monitoring en WAF wil draaien. Webshops en ledensites met meer dan basis-behoeften.

Niet geschikt voor: hobbysites of zakelijke sites die al Wordfence of Cloudflare draaien. Dan is WP Cerber overkill en dubbel werk.

Zonder plugin: rate limiting op server- of Cloudflare-niveau

Voor wie zo min mogelijk plugins wil draaien, kan rate-limit op een lagere laag.

Cloudflare custom rule:

Expressie:

(http.request.uri.path eq "/wp-login.php" and http.request.method eq "POST")

Action: Rate Limit, 5 requests per 1 minuut per IP. Een geblokkeerde POST krijgt een 429.

Voordeel: Cloudflare ziet alle botnet-IP’s globaal, niet alleen die van jouw site. Geblokkeerde requests bereiken je origin niet eens. Voor de details over inrichting verwijs ik naar Cloudflare’s eigen documentatie over rate-limit-rules.

Nginx:

limit_req_zone $binary_remote_addr zone=login:10m rate=10r/m;
server {
  location = /wp-login.php {
    limit_req zone=login burst=3 nodelay;
    # ... rest van je PHP-handler
  }
}

Voordeel: geen plugin nodig, geen Cloudflare nodig. Beheer je server zelf en je weet wat je doet: dit is de schoonste oplossing.

Apache met fail2ban:

Een fail2ban-jail die scant op repeterende 401/403-responses in de access-log en het IP banniert via iptables. Werkt, maar vraagt server-toegang en is bewerkelijker om in te stellen.

Cloudflare rate limiting rule voor wp-login.php met threshold slider en block-actie voor WordPress brute force bescherming

Wat je verder doet om wp-login.php af te schermen

Login-limit is laag 1. Er zijn nog drie lagen die ik standaard meeneem:

Tweetraps-authenticatie (2FA). WP 2FA, het officiele Two-Factor van core-contributors, of via SSO (Microsoft, Google). Een wachtwoord kan brute-forced worden, een TOTP-code in vrijwel geen praktisch geval. In mijn ervaring is dit de grootste single-step verbetering die je op een WordPress-account kunt aanbrengen.

Login-URL hernoemen. Plugins zoals WPS Hide Login zetten /wp-login.php op een willekeurige URL. Reduceert ruis (random bots vinden /wp-login niet meer), maar voorkomt geen gerichte aanval. Security through obscurity is geen security; behandel het als een filter, niet als bescherming.

Application Passwords uitschakelen. WordPress 5.6 introduceerde Application Passwords voor REST API-integraties. Standaard staat dat aan. Een brute-force-aanval kan via deze endpoint draaien zonder dat een login-limit-plugin het opmerkt. Schakel uit met:

php

add_filter('wp_is_application_passwords_available', '__return_false');

In functions.php van een child-theme of een mu-plugin.

Verbeteren boven herbouwen: je hoeft de login-URL niet te verstoppen om hem veilig te maken.

Mijn standaard-setup voor klanten

Bij een nieuwe site die ik in onderhoud neem:

  1. Limit Login Attempts Reloaded installeren (gratis)
  2. Cloudflare rate-limit op /wp-login.php (Free-plan voldoende)
  3. 2FA aanzetten voor alle admin-accounts (WP 2FA)
  4. Application Passwords uitschakelen via filter
  5. XML-RPC blokkeren via Cloudflare (zie mijn artikel over Cloudflare WAF instellen)

Vier maatregelen, hooguit een uurtje werk in totaal, en je dekt 99% van de brute-force-aanvallen af. Geen 2FA? Dan blijft het zwakste punt het wachtwoord van de admin. Daar valt geen plugin omheen.

Multi-stack opmerking: Dit artikel is WordPress-specifiek. Voor Laravel geldt de ingebouwde throttle-middleware op login-routes, voor Statamic is er de built-in rate-limiter op de control panel. De principes zijn identiek, de implementatie verschilt.

Voor het inrichten van een complete login-beveiliging op een bestaande site: 30 tot 60 minuten werk, €70 per uur. Bij meerdere sites in een batch wordt het per site goedkoper. Meer over WordPress onderhoud en wat ik standaard meeneem.

Serhii Lypii
Volgende stap

Login-beveiliging op jouw site

Stuur me je URL en wat info over hoe je site nu beveiligd is. Ik kies de juiste combinatie voor je hosting en site-type, en zet het in een uur op. Geen vergelijkings-paralyse.

Vraag advies aan
Vond je dit nuttig? Deel het:
FAQ

Veelgestelde vragen

Hoeveel login-pogingen moet ik toestaan voordat een lockout intreedt?
Drie of vier is een prima balans. Lager irriteert oprechte gebruikers die hun wachtwoord even niet weten, hoger laat te veel ruimte voor brute force.
Wat als ik mijn eigen IP per ongeluk blokkeer?
De meeste plugins laten je via FTP of de database de tabel met blocks legen. Houd FTP-toegang dus voor de zekerheid bij de hand, vooral net na een setup-wijziging.
Helpt het verbergen van wp-login.php écht?
Het filtert ruis van random bots, maar gerichte aanvallen vinden de juiste URL alsnog. Combineer altijd met echte rate-limiting en 2FA. Op zichzelf is het geen bescherming.
Moet ik ook XML-RPC en de REST API beschermen?
Ja. Brute force gaat tegenwoordig vaak via XML-RPC of de Application Passwords-endpoint, niet via wp-login. Een login-limit-plugin ziet die requests soms niet eens.
Werken deze plugins met 2FA samen?
Doorgaans wel. Test wel: bij sommige combinaties wordt een mislukte 2FA-stap niet als login-poging geteld, waardoor de lockout pas op de echte wachtwoord-fout intreedt.
Serhii Lypii
Over de auteur

Serhii Lypii

Freelance webmaster · Terneuzen

Sinds 2012 werk ik met websites en leverde ik ruim 210 projecten op. Ik help mkb-ondernemers met onderhoud, snelheid, beveiliging en praktische automatisering. Nuchter, zonder hype.

Ik schreef dit artikel op en werkte het voor het laatst bij op .

Meer over Lypii
Even sparren over je site?

Loop je ergens tegenaan of twijfel je over je site? Ik denk graag mee — kies hieronder hoe je contact opneemt.

Reactie binnen 4 uur op werkdagen
Navigatie
Home Over mij Kennisbank
Contact
+31 6 39 56 93 03 serhii@lypii.nl WhatsApp
Stuur een bericht