Hjem > Teknologi > Slik stopper jeg spam til WordPress

Slik stopper jeg spam til WordPress

De fleste bloggere sliter med spam. WordPress har løst mye av problemet gjennom det utmerkede tillegget Akismet. Med dette systemet på plass, havner så godt som alle spaminnlegg i søplekassen.

SpamLikevel går en god del tid med på å følge med, for å unngå eventuelle falske negativer, altså kommentarer som feilaktig blir merket som søppel.

Dessuten har jeg merket meg at langt på vei det meste at driten stammer fra noen få spambots. En god del har mer eller mindre samme IP-adresse, eller deler av en IP-range.

Derfor bestemte jeg meg for å luke vekk verstingene.

Webserveren Apache har en konfigurasjonsfil kalt .htaccess. Dette er et svært kraftig verktøy, men man må være stø på hånda for å bruke den.

Filen kan i verste fall gi uvedkommende tilgang til serveren, så dette er en jobb for viderekomne og folk som vet hva de driver med. Ikke alle webhotell tillater slik konfigurasjon, men det gjør heldigvis min.

Dermed var det bare å plassere de mest hissige spammerne i en slik fil etter følgende regelsett:

RewriteEngine on
RewriteBase /

ErrorDocument 403 /errors/403.html

# Remove spammers
order allow,deny
deny from 194.8.
deny from 91.206.183.
allow from all

Her har jeg definert en egen feilmeldingside med kode 403 som spammerne får opp. Dersom man sløyfer denne, eller legger regelen under blokkeringslisten, så vil besøk av IP-adresser du stopper resultere i en uendelig loop med ekstra belastning på webserveren. Det vil du typisk unngå.

Feilmeldingssiden er helt nøytral. Dette er bevisst. Det er ingen vits å lage en feilmeldingsside der man slenger dritt til besøkende man blokkerer, å mobbe spammere osv. Slike meldinger innbyr til hacking.

Den første IP-rangen jeg nekter tilgang består bare av to tall. Alle med IP-adresse som begynner på 194.8… blir blokkert. Det er også mulig å blokkere en enkelt IP-adresse med alle fire segmentene (a.b.c.d), men det er mindre nyttig i kampen mot sofistikerte spammere, som gjerne veksler mellom ulike adresser.

Før jeg gjorde dette fikk jeg rundt 30-40 spam i WordPress sin søppelkasse hver dag. Etter innføringen har jeg ikke fått en eneste spammelding. Men det dukker sikkert opp noen etter hvert, og da noterer jeg meg adressene i administrasjonsgrensesnittet til WordPress, og legger gjengangerne inn i killfilteret.

Categories: Teknologi Tags: , , ,
  1. 8 februar 2010 @ 22:31 | #1

    Jeg benytter denne metoden selv, men ser at den ikke skalerer over tid. Pt. har jeg nemlig en liste med nærmere 1000 adresser som har levert mer enn 20 spamkommentarer.

    Dette er selvsagt ikke en idealsituasjon, ettersom størrelsen på .htaccess vokser og at filen lastes for absolutt hver eneste forespørsel mot webserveren.

    Det finnes noen alternativer, blant annet IP tables, men det har jeg ikke kikket på ennå. Du kan jo dele noen erfaringer hvis du kommer så langt.

  2. 8 februar 2010 @ 22:55 | #2

    @Martin Bekkelund
    Jøss, det var en drøy liste. Med såpass trafikk antar jeg at du også stopper kommentarer uten korrekt http-referer (ditt eget domene). Det kan stoppe ytterligere noen spammere som treffer direkte på kommentarsiden.

    Tror ikke iptables er tilgjengelig for vanlige dødelige, det krever vel mer tilgang enn de fleste webhoster gir kundene sine.

    Hvis jeg på noe tidspunkt makter å tiltrekke meg like mange spamkåte boter som deg, vil jeg nok heller vurdere en eller annen captcha-variant.

  1. Ingen tilbakespor enda.