Bij het zoeken naar een goede oplossing om spamberichten bij beoordelingen in een WooCommerce webshop te bestrijden kwam ik naast bekende tools zoals Akismet en Google Captcha ook Cloudflare WAF tegen. Als je al gebruik maakt van Cloudflare dan is dit misschien ook wel voor jouw website/webshop de ideale oplossing.
De Cloudflare firewall regels
Log in op je Cloudflare-account en klik, nadat je de gewenste domeinnaam hebt geslecteerd, in de linker menubalk op “WAF” onder Security. Zie onderstaande afbeelding. Maa je gebruik van het gratis Cloudflare-abonnement dan kan je maximaal vijf firewallregels aanmaken.
Firewallregel om WordPress-spam te blokkeren
Om een nieuwe firewall-regel aan te maken klik je op Create rule.
Maak nu de firewall-regel als volgt:
- Geef je regel een naam: “Block WordPress Comment Spam”
- Selecteer onder “Field” “URI-path”
- Kies onder “Operator” voor “Contains”
- Plaats in het gedeelte “Value” de regel “comments-post.php”
- Klik op de knop ‘Or’ aan de rechterkant
- Herhaal de bovenstaande vier stappen en typ in de laatste stap bij “Value” /?replytocom
Als het goed is ziet het er dan als volgt uit:
Je kan ook meteen de “Expression” in het veld plakken door te klikken op “Edit expression. Gebruik hiervoor onderstaande code:
(http.request.uri.path contains "comments-post.php") or (http.request.uri.path contains "/?replytocom")
Scroll naar beneden en kies onder “Then take action..” de optie “JS Challenge”. Sla de wijzigingen op en je bent klaar, de firewall regel is nu actief.
Cloudflare Firewall logs
Afhankelijk van hoeveel spamberichten er op de site binnenkwamen kan je de activiteit van de firewall regel bekijken onder ‘Activity last 24hr’. Zie onderstaande afbeelding.
Het activiteitenrapport laat je elk verzoek zien dat de Cloudflare-firewall heeft verwerkt. De “CSR” is het “Challenge Solve Rate”, dat laat zien hoeveel daadwerkelijke gebruikers met een browser je opmerkingen hebben bekeken. In de bovenstaande schermafbeelding is de CSR voor de regel 9%, wat betekent dat van de 11 verzoeken er 10 door geautomatiseerde bots zijn gedaan.
Conclusie
Ik heb verschillende oplossingen geprobeerd om geautomatiseerde WordPress-spam aan te pakken, en tot nu toe zijn de firewall-regels van Cloudflare de meest effectieve gebleken. Andere opties, zoals plugins, leggen de verantwoordelijkheid bij WordPress om spam te detecteren.
Met name geautomatiseerde bots kunnen in korte tijd duizenden keren je site bestoken, wat een WordPress-installatie zwaar kan belasten, vooral als deze op een gedeelde hostingomgeving draait. Door de detectie van bots aan Cloudflare over te laten, kan je WordPress-installatie zich richten op daadwerkelijke verzoeken van echte gebruikers en wordt voorkomen dat deze bronnen verspilt aan het bestrijden van geautomatiseerde spam.