Blogi » Spämmiä, spämmiä, spämmiä...
Roskaposti eli spämmi on kyllä yksi nykyajan suurimmista vitsauksista, joka on alkanut näkyä MVnetissäkin. Ei pelkästään sähköpostispämminä vaan myös spämmiviesteinä keskustelupalstalle ja kommentteihin. MVnetin alkuaikoina spämmistä ei ollut juuri harmia, mutta nyttemmin, kun täällä on alkanut käydä enemmän kävijöitä, ovat spämmibotitkin löytäneet tiensä tänne.
Muutama kuukausi sitten sain taistella MVnetin keskustelupalstan spämmereittein kanssa. Nykyään spämmerit ovat niin ovelia, että edes ns. CAPTCHA-tekniikka ei aina auta (eli semmoinen sekavahko kuva, josta pitää syöttää kirjaimet/numerot tekstikenttään). Keskustelupalstalle sateli spämmiä viikoittain, mutta pienillä muutoksilla pääsin niistä eroon (kts. Spämmerit pois keskustelupalstoilta).
Palautelomakkeen ja virheraportin kautta satoi myös paljon spämmiä parisen kuukautta sitten. Mutta nyt on blogiinkin alkanut satamaan spämmiä ja oikein urakalla. Näistä blogien roskaposteista oli uutinenkin Weblogit ovat täynnä spämmiä, jossa kerrottiin, että joissain palveluissa jopa 75% blogeista on täyttä spämmiä. Spämmi näkyy MVnetissä turhina kommentteina kirjoituksiin, joita tulee joskus jopa parisenkymmentä viikossa. Blogisoftassa on kyllä spämmifiltterit, mutta ei kovin tehokkaat. Uudempikin versio tästä b2evolutionista olisi saatavilla, mutta päivittäminen uuteen versioon on turhan hankalaa.
Varautuminen spämmiin onkin erittäin tärkeää, jos suunnittelee lisäävänsä nettisivuille jonkinlaisen palaute/kommentointi -systeemin. Jos sivut saavat vähänkään suosiota, spämmiä tulee varmasti. Itse käytän nyt niin palautelomakkeissa kuin tässä blogisoftassakin hyvin yksinkertaista omatekoista spämmiestoa: lisään lomakkeeseen kentän, jossa pyydetään käyttäjää suorittamaan yksinkertainen yhteenlasku. Jos yhteenlasku on väärin, ei lomaketta lähetetä. Spämmibotit eivät yleensä ymmärrä, mitä kenttään pitäisi laittaa, mutta normaali ihminen kyllä tämän ymmärtää. Palautelomakkeen spämmiviestit loppuivat heti, kun lisäsin tämän kentän.
Spämmieston lisääminen b2evolutioniin
B2evolutioniin (v0.9.2) tuon yksinkertaisen spämmieston saa lisättyä seuraavasti:
Avaa tiedosto htsrv/comment_post.php ja lisää n. riville 35 seuraava rivi (samassa kohtaa on muitakin param-alkuisia rivejä):
param( 'spam_esto', 'string' );
Sitten samaan tiedostoon noin riville 90 ennen koodipätkää if( empty($comment) ), lisää seuraava koodipätkä:
if ($spam_esto != "14")
errors_add( T_('Et laskenut tulosta oikein') );
Avaa sitten skins-kansiosta käyttämäsi ulkoasun kansiosta _feedback.php ja etsi koodipätkä name="comment" ja lisää sen alapuolelle (p-tägin jälkeen) seuraava koodi:
<p><label for="spam_esto">9 + 5 = </label>
<input type="text" name="spam_esto" id="spam_esto" size="5" maxlength="5" style="width: 30px" />
Laske tähän edellä esitetyn laskutoimituksen tulos. Tämä kenttä on olemassa roskapostin estämiseksi.</p>
5 kommenttia
Hyvä esto! :) Mutta mikset tehnyt järjestelmää, joka vaihtaa laskua ja sen tulosta, sillä jokuhan voi käydä sivulla ja ohjelmoida järjestelmän, joka tietää tuohon sen vastauksen jne. :P
Meinasin sanoa, että entä jos joku ei osaa laskea, mutta sehän on silloin hyvä tapa torjua pieniä lapsia jotka mahdollisesti yrittävät sotkea paikkaa, yms. :P
Kiitos tästä!
Jonille: Ainakin minulla on tuossa b2evolutionissa kansio nimeltä htsrv ja siellä tiedosto comment_post.php. Ehkä käytössäsi on eri versio?
Juntturalle: Aattelin itsekin tehdä jonkun vaihtuvan systeemin, mutta päädyin noudattamaan ns. KISS-periaatetta (Keep It Simple Stupid), että mitäpä sitä turhaan tekemään asioita monimutkaisemmin, kun näin pärjää hyvin. Epäilen hyvin vahvasti, että blogini kiinnostaisi spämmereitä niin, että he jaksaisivat jonkun automaattisen viritelmän tehdä. Ja jos tekevät, on tuota laskutoimituksen tulosta helppo muuttaa käsin. Ja tosiaan, jos joku ei osaa laskea, tuskin hänellä olisi kovin järkevää asiaakaan sanottavana :)
Tuossahan nuo on selitetty, mitä koodipätkiä pitää lisätä mihinkin tiedostoon :)
Eli siis ne harmaalla olevat koodipätkät lisäät niihin tiedostoihin, jotka tuossa mainitaan.