Martin Bekkelund

En blogg om IT

Litt om kommentarer

onsdag 9. juli 2008 • 25 kommentarer

Kommentar til godkjenning på bekkelund.net

Jeg fikk nylig en henvendelse vedrørende mitt kommentarsystem, med spørsmål om hvorfor kommentarer legges til godkjenning. Ettersom dette kan være av interesse for flere, presenterer jeg her den fulle oversikten over hvordan kommentarsystemet fungerer her på bekkelund.net.

Systemet er laget som en trappetrinnsmodell i tre deler:

  1. Filtrering av IP-adresser
  2. Filtrering av ukjente kommentatorer
  3. Filtrering av ord

Filtrering av IP-adresser

I utgangspunktet legges alle kommentarer i en godkjenningskø. Fra denne køen markerer jeg spam, som til slutt havner i en egen spam-liste. Fra spam-listen plukker jeg ut IP-adresser som har publisert mer enn 10 spam-kommentarer fra den aktuelle IP-adressen, hvorpå IP-adressen blokkeres. Enkelte IP-adresser har lagt igjen så mye som 2000 kommentarer.

Den komplette listen over IP-adresser har jeg publisert på en egen side, slik at du kan dra nytte av den, for eksempel på ditt eget nettsted.

Filtrering av ukjente kommentatorer

Som nevnt blir i utgangspunktet alle kommentarer lagt i en godkjenningskø. Første gangen du legger igjen en kommentar på bekkelund.net, blir kommentaren lagt i denne køen, slik at jeg skal kunne verifisere at du ikke er en spammer. Dersom kommentaren overholder retningslinjene for kommentarposting, godkjenner jeg kommentaren. Jeg sensurerer eller endrer aldri kommentarer som overholder retningslinjene, og strekker meg svært langt for å publisere alle kommentarer. I løpet av de siste fem årene har jeg kun sensurert en håndfull kommentarer.

Neste gang du legger igjen en kommentar med samme navn, e-postadresse og nettsted, vil kommentaren bli publisert umiddelbart, forutsatt at den ikke stoppes av punkt 3. Det vil si at dersom du tidligere har fått godkjent en kommentar, vil ikke påfølgende kommentarer plasseres i godkjenningskøen.

Dersom din nettleser aksepterer informasjonskapsler fra bekkelund.net, vil nettleseren automatisk huske navn, e-postadresse og URL, slik at du slipper å huske det selv. Jeg anbefaler derfor deg som leser å akseptere informasjonskapsler fra bekkelund.net. Dersom du er skeptisk til bruk av informasjonskapsler, har jeg skrevet en personvernpolitikk som beskriver hva informasjonskapsler benyttes til og hvordan de håndteres.

Filtrering av ord

Dersom du har lagt igjen og fått godkjent en kommentar tidligere på bekkelund.net, men allikevel opplever at dine kommentarer legges til godkjenning, er det fordi kommentaren inneholder ett eller flere ord som er definert slik at kommentarer som inneholder disse ordene må godkjennes før de publiseres.

Typisk er dette ord som er navnet på tvilsomme medikamenter eller ditto pengespill. Jeg har også publisert den fulle listen over ord som filtreres, slik at du kan forholde deg til den, eller benytte den på ditt eget nettsted.

Jeg vurderer for øvrig å kutte ut ordfiltreringen, da de to første punktene i teorien skal være tilstrekkelig. Bakgrunnen er at jeg ønsker å redusere tiden fra en kommentar postes til den faktisk blir publisert.

Ord til ettertanke

Spam er et enormt problem for de fleste som drifter et nettsted med mulighet for å fylle ut et skjema, eksempelvis et kommentarskjema. Mange velger å benytte en automatisert tjeneste for filtrering av spam, som for eksempel Akismet, men slike tjenester fjerner ikke problemet med forbruk av båndbredde. Ved å sperre IP-adresser reduserer man båndbreddebruken spammerne bruker. Redusert bruk av båndbredde betyr reduserte kostnader for din ISP, som igjen betyr billigere tjenester til deg.

Spam er som nevnt et stor problem, og det finnes mange kreative måter å filtrere spam på. I snart tre år har jeg brukt systemet omtalt i denne artikkelen. I snart tre år har jeg vært fullstendig spam-fri her på bekkelund.net. Derfor velger jeg med denne artikkelen å dele informasjon om min løsning. Kun ved å dele informasjon om hva som fungerer kan vi lage de optimale løsninger som fungerer. Derfor oppfordrer jeg også deg til å skrive om hvordan din løsning fungerer. Skriv en artikkel og legg igjen trackback.

Følg @MartinBekkelund på Twitter!

25 kommentarer

  1. Betyr dette at du kun bruker dette systemet, uten for eksempel Akismet? Selv bruker jeg kun Akismet, med automatisk sletting av spamkommentarer på eldre poster. Det fungerer nesten uten problemer, iblant kommer noe gjennom. Derfor virker dette lovende. Jeg hadde noen regler liggende i .htaccess filen min for litt siden, men de forsvant under en oppgradering av uante årsaker. Backup hadde ikke fått med seg filen…

  2. Jeg bruker ikke Akismet, nei. Som nevnt i slutten av artikkelen reduserer ikke Akismet båndbreddebruken. Løsningen jeg skisserer i denne artikkelen har fungert vanntett i snart tre år. Ulempen er beklageligvis en potensiell forsinkelse fra kommentaren postes til den faktisk blir synlig på bekkelund.net, men jeg jobber med å redusere denne tiden.

  3. Jeg har laget min egen unobtrusive captcha (for min tidligere arbeidsgiver, ikke min egen blog). Den fungerer meget enkelt:

    * Still posteren et enkelt regnestykke
    * Send med javascript som utfører regnestykket og skjuler skjemafeltet
    * Ergo er det kun besøkende med javascript avslått som trenger å bry seg om regnestykket :)

    Dette vil selvfølgelig aldri fungere hvis en konkret implementasjon skulle bli populær, siden det er fort gjort å lage en spambot som gjør samme arbeidet. Men hvis man har tid til å lage spesialtilpasset kode for hvert nettsted er den MEGET sikker. Tror ikke den har sluppet gjennom en eneste spam-post til dags dato. :)

  4. Uhh, CAPTCHA. Ikke at jeg skal kritisere folk for å lage gode CAPTCHA-løsninger, men jeg grøsser ved ordet. Eugenie, som er svaksynt, har skrevet noen passende ord om hva hun synes om CAPTCHA. Jeg har selv skrevet noen ord, også. Kort fortalt mener jeg at man ikke skal dytte problemet over på brukeren.

    Imidlertid har jeg tenkt ut en CAPTCHA-variant som bør fungere. Man legger til et ekstra felt i skjemaet. Dette feltet være tomt når skjemaet sendes inn. Hvis ikke blir kommentaren lagt til godkjenning. Feltet skjuler man så med CSS, slik at brukerne slipper å forholde seg til det. Spam-roboter, derimot, leser ikke CSS, og vil etter all sannsynlighet fylle ut skjemaet.

  5. I to og halvt år med nye senikk.com har jeg heller ikke trengt å ofre så mye som en tanke på spam, selv uten et så rigid system som det du har med filtrering på det ene og det andre. Og uten å måtte bruke tid på manuelt å godkjene noe som helst slik du må. Jeg har bare gjort det så enkelt at jeg tillatter kun kommentering via AJAX. Egentlig var det bare et eksperiment på hvor lenge det ville vare før spambotene ble enda smartere. Referanse var WAP2.0 (XHTML-MP) grensesnittet hvor det var i alle fall da når jeg lagde det kun mulig med helt vanlig posting, her kom det spam selv på eget laget system ja.

    I disse WEB2.0 dager har de fleste skrudd på Javascript. Har lest om en metode som jeg ikke har testet selv. Lurer på hvor smarte spambotene har blitt. Men i alle fall det gikk ut på å sette action URL til en ikke eksisterende side (for spambotene) og endre til korrekt URL med Javascript.

    Men uansett hva en gjør så hindrer det jo ikke manuell spam fra idioter, ja om ikke noen utvikler en veldig bra AI da så vi slipper å gjøre noe som helst selv, hehe.

  6. Håvard Pedersen: apropo enkelt regnestykke, jeg leste en kommentar på Twitter husker ikke fra hvem, men det stod noe sånt som at det var én som ikke fikk til å kommentere på ’2+2′ han trodde svaret var ‘x’ mener jeg å huske, så selv enkle spørsmål kan gi galt svar fra noen, hihi.

  7. Jeg er også en av de som sender førstegangskommentarer i moderasjonskø. Grunnen er egentlig det samme som at man vil se hvem som banker på døra før man slipper dem inn. Også kommentarer med lenker blir liggende i kø hos meg.

    Men jeg har begynt å bruke Bad Behaviour mer og mer, siden jeg egentlig ikke er noe glad i denne Akismet køen.

  8. Jeg har gjort noe som ligner på det Håvard skriver: http://www.cjohansen.no/blogg/2008/april/hvordan_jeg_ble_spamfri_paa_30min

    Kun brukere uten JavaScript trenger å tenke på noe som helst. De som ikke har JavaScript må skrive inn et tall i feltet (‘Oppgi tallet 46 i feltet til høyre’). Det er bortimot bombesikkert sålenge det er “custom” og verdiløst som masseprodusert løsning. Flaks for meg at det er custom :)

    Jeg tenkte også på dette blanke feltet, Martin, men gjettet på at spambotene ville prøve å resubmitte uten noe. Jeg har ikke noe videre grunnlag for å tro dette merker jeg :)

  9. Jeg har en stor aversjon mot å håndtere ting på klientsiden, enten det er noe som må håndteres av brukeren eller selve klienten, det vil si nettleseren. Er det bare jeg som er gammeldags og vil løse alt på server-siden, eller unngår jeg problemer ved å gjøre det slik?

    For øvrig god sammenligning, Kristin. Greit å se hvem som banker på døra før man gir dem en nøkkel. :-)

  10. Martin: Du må være gammeldags, si meg, benytter du deg virkelig ikke av en eneste WEB2.0 tjeneste?

  11. Jeg vurderer for øvrig å kutte ut ordfiltreringen, da de to første punktene i teorien skal være tilstrekkelig.

    Jeg tror det er smart. Selv har jeg kuttet all ordfiltrering, og kjører førstegangskommentarer med linker eller med bare ett navn i moderasjonskøen, og til dags dato tror jeg at det har stoppet all fungerende spam. Det har kommet igjennom et par-tre «meningsløse» kommentarer, sikkert BOTer som eksperimenterer eller noe slikt, men ikke noe som gir Googlejuice, eller på annen måte er irriterende.

    Det med å ordfiltrere kjente kommentatorer vil ofte føre til mer bry enn nytte. Dersom jeg bruker et merkenavn på et kjent legemiddel i blå pilleform, for eksempel, er nok sammenhengen antageligvis mer spennende enn at jeg vil selge det! :-)

  12. Tja, Terje, det spørs hva man definerer som Web 2.0, da. Er det funksjonalitet eller tjeneste? Her på bekkelund.net bruker jeg fint lite som minner om Web 2.0, uansett hvordan man definerer det. Kanskje bortsett fra selve webloggen. :-)

    Det ser ut til at vi har kommet til samme konklusjon, Lasse. Jeg skal gjøre noen forberedelser, så fjerner jeg ordfilteret ved første anledning.

    Jeg visste for øvrig ikke at disse mye omtalte pillene er blå. :-)

  13. Jeg har en løsning jeg har utviklet selv (på godt og vondt siden jeg ikke er noen programmerer). Noen plasser må man jo eksperimentere, og jeg har da eksperimentert med AJAX i min løsning.

    Har også gjort det slik fordi det for meg var en praktisk måte å teste ut Google Analytics i en AJAX-løsning. Har så langt ikke blitt spammet, kun slettet ett troll, men har måttet deaktivere tilbaketråkk inntil jeg finner tid til å forbedre den løsningen.

  14. Selv benytter jeg Textpattern, som krever forhåndsvisning av kommentarer, i tillegg til at det sjekkes for skjulte, tilfeldig genererte verdier (“nonce”, tror jeg de kaller det), og muligens noe til. Det er uansett helt usynlig for brukerne, med unntak av at man må godkjenne forhåndsvisningen da, men det er uansett ofte en god idé å se over det man har skrevet en ekstra gang …

    Jeg fikk nylig de to første spam-kommentarene på flere år, noe som kan tyde på at noen spammere har begynt å rette seg mot Textpattern spesielt. Men etter at disse kommentarene ble markert som spam har det ikke kommet flere.

  15. Løsningen din høres bra ut, Martin. Har du implementert det som plugins i WordPress? Når det gjelder bruk av CAPTCHA tror jeg løsninger som ikke krever JavaScript og som stiller brukeren enkle spørsmål av typen “er is kaldt eller varmt” er de beste. Disse spørsmålene kan automatisk besvares ved hjelp av JavaScript ved hjelp av en Ajax-forespørsel til server (hvor serveren selvsagt validerer forespørselen slik at ikke hvem som helst kan ta kontakt og få svaret), slik at kun de som ikke har JavaScript tilgjengelig blir nødt til å svare på spørsmålet.

  16. Apropos kommentarer… Jeg ser jeg har satt mitt fulle navn på kommentaren her. Jaggu har jeg ikke begynt å oute meg selv også. Jeg som alltid har brukt nick og allting. Jaja, du ba jo om fullt navn så. Slike ting blir alltid automatisk flyt ut for meg ved hjelp av Sxipper.

    Jeg har lenge vurdert å gjøre om løsningen jeg selv benytter, men tror egentlig moderering av førstegangs kommenterende ville fjernet problemet nesten alene (da i kombinasjon med Akismet). Idag er praktisk talt aldri plaget av spam, men har måttet slette et par kommentarer som har kommet gjennom. Det hadde ikke skjedd om jeg kun tillot tidligere brukere å få kommentaren rett gjennom. Men løsningene som skisseres her høres jo unektelig mye bedre ut.

  17. Jeg bruker ingen plugins som er direkte relatert til forhindring av spam. Derimot bruker jeg CJD Spam Nuker for å slette spam straks jeg har hentet ut den informasjonen jeg trenger. Videre bruker jeg Filosofo Comments Preview for forhåndsvisning av kommentarer, men den er det jo en enkel vei rundt.

  18. PS. Hyggelig at du poster med eget navn, Yngve! Det setter jeg stor pris på. :-)

  19. Jeg visste for øvrig ikke at disse mye omtalte pillene er blå.

    Ahh. Nyt ungdommen mens du har den ;-)

  20. Jeg bruker alltid moderingsdelen på min bloggerkonto. Der finner jeg ut fort om det er spam eller ikke i kommentarene jeg får. Jeg gjør det på enkleste måte siden jeg er svaksynt og ikke er så god til å kode i diverse programmer for å få til et skikkelig spam-filter for kommentarer. Har ikke fått spam i den siste tiden :-) .

  21. Jeg har kun et system som blokkerer IP-adresser. Så langt har det fungert veldig bra, og i de få periodene jeg får noe spam er det som regel alltid fra den samme IP-adressen i den samme perioden. Skulle jeg imidlertid oppleve mer spam, vil jeg vel også ta i bruk førstegangs-registrering av kommentarer. Filtrering på ord tror jeg neppe jeg hverken trenger eller vil bruke.

    Jeg er også tilhenger av at filtrering og slikt skjer på serversiden, og kan ikke se at det skulle by på noen problemer. Jeg vil jo også gjerne kunne benytte meg at sider fra mobile enheter som kanskje ikke har f.eks Javascript.

  22. Jeg har akkurat fjernet ordfilteret, så vurderer jeg situasjonen fortløpende. Fint om dere gir tilbakemelding dersom dere har noe på hjertet. :-)

  23. Jeg har ikke noe på hjertet, men er glad for at jeg kan fortelle om det dersom det jeg har på hjertet en eller annen gang er et attakk fremskyndet av aktiv Viagra-bruk! :-)

  24. I så fall står det respekt av den innrømmelsen, dersom du ønsker å publisere den her, Lasse! :-D

Har du synspunkter? Legg igjen en kommentar!

Ingen anonyme kommentarer! Ved å trykke Send kommentar samtykker du i at du er kjent med personvernpolitikken og vil overholde retningslinjene for bekkelund.net.

Abonner uten å kommentere

RSS og trackback

Med RSS kan du abonnere på nye kommentarer som postes til denne artikkelen.

Du kan legge igjen et trackback fra ditt eget nettsted ved å benytte trackback-adressen til denne artikkelen. Eventuelle tracback ser du under.

Flere artikler

Enda flere artikler? Besøk arkivet.

Bekkelund.net er en blogg av Martin Bekkelund, hvor han lufter sine tanker om IT og IT-politikk. Martin arbeider til daglig som seniorrådgiver, foredragsholder og skribent i IT-bransjen, hvor han veileder bedrifter og organisasjoner i strategisk bruk av IT. Les mer...

Facebook Twitter LinkedIn Flickr Vimeo Google Reader Martin Bekkelunds blogg Martin Bekkelunds RSS-kanal

© 1995-2012 Martin Bekkelund
OpphavsrettRSSKontakt