Spam-accounts tegengaan (Drupal)

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

Soms hebben Drupal-sites last van spam-accounts. Dat zijn malafide accounts die worden aangemaakt om mee te spammen, bijvoorbeeld commentaar toevoegen aan bestaande content. Spam-accounts kunnen zowel door spambots als door mensen in lage-lonenlanden worden aangemaakt.

Geef spammers geen podium

Geen commentaar

Als er geen mogelijkheden zijn om commentaar achter te laten op een site, is een site - althans in theorie - niet interessant voor spammers. In mijn ervaring (lente 2015) weerhoudt dit in de praktijk spammers niet van het aanmaken van accounts, maar wellicht helpt het.

Opties:

  • Geen commentaar toestaan: Door de betreffende module uit te zetten (Core - Optional)
  • Commentaar alleen na goedkeuring publiceren: Zie afbeelding

Algemeen:

  • Discussies beëindigen na een bepaalde periode (Tweakers.net doet dat)
  • nofollow-keywords gebruiken voor commentaren

Alleen de beheerder mag accounts aanmaken

Voor niet-webwinkels is er meestal geen noodzaak om mensen accounts te laten aanmaken. Dus dichtzetten.

Drupal 6:

User management > User settings

Drupal 7:

Configuration > People > Accounts settings

Drupal 8:

Configuration > People > Accounts settings

Accounts moeten per e-mail bevestigd worden

Accounts moeten eerst bevestigd worden. Vrij elementair, maar helpt verrassend weinig

Voor oa. webwinkels is het meestal noodzakelijk dat bezoekers een account kunnen creëren. Het was ooit handig om in te stellen dat een account eerst per e-mail bevestigd moet worden, maar dat is in de loop der tijd verbluffend ineffectief gebleken: Veel spamaccounts worden door mensen in arme landen aangemaakt.

Accounts moeten eerst goedgekeurd worden

In Drupal kun je instellen dat accounts eerst door een beheerder goedgekeurd moeten worden. Da's zeker effectief, maar niet geschikt voor webwinkels.

Registratie-pagina dichtzetten

Op webwinkels zullen mensen zich niet snel registreren zonder eerst een aankoop te doen. Daarom een idee om de registratie-pagina te blokkeren.

CAPTCHA

Een captcha is een manier om te verifiëren dat gebruikers mensen zijn, en geen robots. De meest gebruikelijke captcha is een grafische captcha. Onmisbaar, maar zet niet al te veel zoden aan de dijk.

Ik bouw vooral webwinkels. Als iemand een order heeft geplaatst, krijgt hij of zij automatisch een account. Theoretisch kan dat proces misbruikt worden, namelijk als mensen kiezen voor betaling via de bank: Dan krijgen ze een account zonder zich te commiteren aan een order. In de praktijk zal dat misbruik wel meevallen. Het probleem zal dus eerder de mogelijkheid zijn om gewoon een account aan te maken op een site. Dáár zijn dus honeypot en captcha nodig.

Configuratie

Het zit op een misschien onhandige plek:

User management > CAPTCHA

Je moet het id opgeven van te beschermen formulieren. Ik denk dat het voor mij om deze formulieren gaat:

comment_form
user_register

Bron

Honeypot

Een honeypot is een valstrik om (in dit geval) spammbots te identificeren: Er wordt een voor mensen onzichtbaar veld toegevoegd aan een formulier met een aantrekkelijk titel (bv. 'link'). Als dit veld wordt ingevuld, weet je dat het om een computer gaat en niet om een mens.

Modules

Honeypot-module

Ik voorzie alleen de User Registration form van deze beveiliging (sep. 2014). Hoe bevalt dit?

Filteren op IP-adres

Het ligt voor de hand om spamaccounts te identificeren aan de hand van hun IP-adres. Waarschijnlijk maken services als Mollom hier gebruik van.

Services

Er bestaan anti-spam-services, vergelijkbaar met spamfilter-software voor e-mail.

Overig

Voorbeelden

Bronnen