Mikael goes spam-police

Etter noen e-post vekslinger med Espen Andersson, en velkjent spambekjemper, startet jeg å videreutvikle noen av hans ideer når det kommer til å bekjempe spam. Jeg har sett meg lei på at all slags reklame for viagra og penisforlengere skal komme inn på alle sider. Dette kan være støtende, og komme inn i helt feil sammenhenger.

Jeg har nå kommet til en klasse som fungerer noenlunde, og greier å luke ut mye spam. Men jeg har fortsatt noen problemer med å skille spam fra ikke-spam på mindre poster. Jeg kommer ikke til å avsløre noen kode enda, det får eventuelt komme når jeg er helt ferdig. Jeg tenkte heller jeg skulle avsløre noe av hvordan jeg nå skal gå frem for å filtrere vekk spam.

Flere av mine kunder blir mer og mer kjent i søkemotorer, som vil resultere til spam. Derfor må jeg komme med bedre spam-filtre. Derfor sitter jeg altså her nå. Men nok om det, her kommer en liten liste over hva jeg tenker på å gjøre:

Først og fremst er det vanlig ip-ban og total ban av ord, som vil føre til at en kommentar ikke slipper igjennom spamfiltret. Dette er vanlige saker, men kan være effektivt i noen tilfeller. Dette forutsetter selvfølgelig litt administrative engasjementer, i å legge til IP-adresser en ikke vil skal kunne poste kommentarer, og hvilke ord som ikke skal kunne være lov, i det hele tatt. Ord som dette kan være; Penis, Viagra, \/|4gRa osv. Kjente strofer som blir brukt i spam-poster. En annen ting som jeg har tenkt å ha i spamfiltret er noe jeg kaller light blocking av ord. Dette er ord, som kanskje ikke er nødvendigvis spam-ord, men som kan bli brukt i spam. Slike ord kan være: sex, penis osv. Vanlige ord som enkelte virkelige personer kan komme til å bruke i en kommentar. Men, light blockingen vil være slik at den regnes med i en relativ prosent og utregning som gjør at forekommer ordene i listen ofte, vil det regnes som spam. Dette er også inblandet med noen regnestykker rundt link-bruk osv. Dette skal jeg ikke gå nærmere innpå, da det er litt “hemmeligholdt” på dette tidspunktet. Ser ingen vits i å eksposere alt, i tilfelle det ikke fungerer slik som jeg vil. (Her er vi også inne på noe av det jeg og Espen Andersson har snakket om.
Som sagt blir dette litt “urettferdig” for små poster som gjør at light ban og det andre ikke vil bli korrekt utregnet. Derfor må det til med noen andre primisser for korte poster. Her tenkte jeg da på å tillate kun X antall linker.
Mange spam-poster bruker også forskjellige måter å linke på. De har både [URL], [url=, og . Så om disse forekommer i samme post, er det et temmelig godt tegn på spam. Dette kommer klassen også til å sjekke.

Det kommer sikkert til å ta litt tid før denne blir helt ferdig. Nå har jeg oppdaget enkelte problemer med korteposter med mange relevante linker, som jeg har nevnt. Det som sansyneligvis må til her er moderering og godkjenning av administrator, om den skal merkes som spam (automatisk også blokkere IP) eller om den skal godkjennes eller bare slettes (ikke blokkere IP).

Saken er: Jeg er lei av spam, og må nok gjøre noe med dette selv!

Dette er litt om teorien bak, og holder dere et øye med bloggen vil de komplette plantegningene og kodene komme når jeg er ferdig.

3 responser om “Mikael goes spam-police”

  1. Venter i spenning på oppfølgeren til denne posten. Jeg har også hatt mine teorier på hvordan man kan forbedre spamsperren, men har latt være og dele de med noen, da den ikke er helt 100%.


  2. En mulig måte jeg fikk høre om for lenge siden var følgende;
    Opprett en robots.txt, som man sier nofollow superhemmelig/ (om det er slik det skrives vet jeg ikke, men poenget er at man forhindrer \’vanlige\’ søkeroboter som f.eks google å gå inn i mappen).

    Man legger så en tom lenke i sin index.html fil, < a href=\"superhemmelig/\" rel=\"nofollow\" >. Denne vil ikke være klikkbar for noen, men vil bli besøkt av en spambot. Om spamboten (eller noen andre) går inn der blir de utestengt fra siden din (man lagrer ipadressen i en datebase/tekstfil og sjekker om ipen skal utestenges eller ikke før viser nettsiden til denne).

    Metoden kan vel strengt tatt også brukes for å kun fjerne kommentarmuligheter for alle som har besøkt lenken?

    Om man ønsker å gjøre det mulig for folk å få tilgang til siden igjen (om de skulle gå inn på adressen ved en feiltakelse) kan man istedenfor å vise dem siden heller vise dem et enkelt spørsmål (hvem er statsminister i norge?) og be dem skrive dette inn i en tekstboks, klarer de dette vil de bli strøket fra ban-listen.


  3. Hm. Om dette virker er det jo en fin idé. Tror jeg kommer til å implantere dette i den ferdige løsningen min. Takk for tipsen, verdsetter det virkelig. Det er et problem, en a-tag uten innhold vil ikke følge W3C reglene, men prioriteringsrekkefølgen? Webstandard kontra effektiv spam-drap?

    bxc: Vell, det kommer sikkert oppdatering til posten over helgen. Da tenker jeg at jeg er ferdig med hele scriptet også. Det er en del som må gjøres, men håper jeg kan klare det til den tiden. Trenger denne løsningen på en gjestebok jeg har, og noen script som kundene mine har brukt. Så det haster litt, nemlig.


Info om posten

Innlegget ble postet 01.10.06 03:16 og ligger under kategorien PHP / MySQL. Du kan abonnere på kommentarene ved å bruke RSS 2.0 feed. Kommentarer er stengt for dette innlegget, men trackback kan fremdeles brukes.

Resurser

Arkiver

Metainfo


Siste Flickr-bilder

  • Commentsystem (20070308)
  • Ukraina Aksjonen 2006 (20070306)
  • Mikael Brevik blogg (20070306)
  • Mikael Brevik (20070306)
  • Brukerdefinert side - AVIS2 (20070306)
  • Brevik Webutvikling (20070306)
  • skyscraper
  • visittkort