Spam-accounts tegengaan (Drupal)
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
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
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
- http://drupal.org/project/captcha - Drupal Captcha-module, 178.000 instanties. Er bestaan een aantal submodules met verschillende soorten tests.
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
- http://drupal.org/project/honeypot - 7.309 instanties. De Drupal Honeypot-module heeft nog een aardig liflafje: Als een formulier binnen een x-aantal seconde is ingevuld, wordt het als spam beschouwd omdat ordentelijke gebruikers dat nooit zo snel doen
- http://drupal.org/project/spamicide - 4.984 instanties
- http://drupal.org/project/hidden_captcha - 5.190 instanties
- http://drupal.org/project/gotcha - 47 instanties.
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.
- http://drupal.org/project/mollom - 53.000 instanties
- http://drupal.org/project/antispam - 3.900 instanties
- http://drupal.org/project/akismet - 250 instanties
Overig
- http://drupal.org/project/spam - Heuristieken om spam-postings op een site te identificeren.
- http://drupal.org/project/inactive_user - Identificeer accounts die niet gebruikt worden + bijbehorende acties
Voorbeelden
- http://www.koolborstels-online.nl/ - Honeypot & Captcha
- http://www.carbonbrushes-online.com/ - Honeypot, captcha & geen mogelijkheid om te reageren op content
Bronnen
- http://drupal.org/node/877404 - How to prevent spam user registrations?
- http://www.midwesternmac.com/blogs/jeff-geerling/introducing-honeypot-form-spam
- http://www.lifeisaprayer.com/articles/web-design/2011/preventing-form-spam - Erg goed artikel
- http://mollom.com/