Roskaamisen torjunta MediaWikissä
Wikien periaatteeseen kuuluu se, että kuka tahansa voi muokata wikin sisältöä. Tämä kuitenkin aiheuttaa joskus ongelmia, kun roskaajat yrittävät esimerkiksi parantaa sivujen sijoittumista Googlen hauissa lisäämällä wikin sivuille linkkejä eri sivustoille. Erilaiset mainostajabotit aiheuttavatkin helposti paljon työtä wikien ylläpitäjille.
MediaWiki, yksi suosituimmista wiki-ohjelmistoista, mahdollistaa roskaamisen torjunnan monella eri tavalla. Tässä artikkelissa käydään läpi tapoja, joilla roskaajabottien toimintaa voidaan estää. Suurin osa ohjeista perustuu tällä hetkellä Linux.fin ylläpitäjien käytännön kokemuksiin. Näillä toimenpiteillä on päästy tilanteeseen, jossa botit eivät käytännössä lainkaan roskaa Linux.fitä.
Anonyymien muokkausten esto
Yksi helppo tapa rajoittaa muokkaajabottien toimintaa on estää muokkaaminen sisäänkirjautumattomilta käyttäjiltä. Tämä onnistuu lisäämällä LocalSettings.php-tiedostoon rivi
$wgGroupPermissions['*']['edit'] = false;
Lisätietoja löytyy MediaWikin ohjeista.
Joissain wikeissä (kuten Linux.fissä ja Wikipediassa) tätä ei kuitenkaan ole otettu käyttöön, sillä monet asialliset käyttäjät haluavat muokata sivuja anonyymisti. Lisäksi jotkut botit osaavat rekisteröityä jolloin anonyymien muokkausten esto ei niitä haittaa.
$wgSpamRegex
MediaWiki sisältää sisäänrakennetun roskantunnistajan, joka ei hyväksy muokkausta, jos se toteuttaa muuttujassa $wgSpamRegex-määritellyn säännöllisen lausekkeen. Oletuksena tämä säännöllinen lauseke ei sisällä juuri mitään, mutta sitä voi helposti laajentaa muokkaamalla tiedostoa LocalSettings.php. Linux.fissä käytössä oleva määritelmä löytyy täältä.
Lisätietoja löytyy MediaWikin ohjeista.
SpamBlacklist-lisäosa
SpamBlacklist-lisäosa tarkistaa kaikki muokkaukset säännöllisillä lausekkeilla. Jos muokkaus toteuttaa roskaa määrittelevän lausekkeen, sitä ei hyväksytä.
Lisäosa asennetaan kuten muutkin MediaWikin lisäosat (katso lisätietoja artikkelista MediaWiki ja lisäosan kotisivulta). Lisäksi LocalSettings.php-tiedostossa määritellään, mistä roskaa määrittelevät säännölliset lausekkeet haetaan. Tiedostoon lisätään siis rivit
require_once( "$IP/extensions/SpamBlacklist/SpamBlacklist.php" ); $wgSpamBlacklistFiles = array( "$IP/extensions/SpamBlacklist/wikimedia_blacklist", // Wikimedian lista // tietokanta sivun otsikko "DB: wikidb My_spam_blacklist", );
Eli taulukkoon $wgSpamBlacklistFiles määritellään säännöllisten lausekkeiden paikat. Tässä ensimmäinen kohde on hakemistossa extensions/SpamBlacklist oleva tiedosto wikimedia_blacklist, joka on tarkoitus päivittää väliajoin MediaWikin palvelimelta. Tiedoston on tarkoitus olla wikien yhteinen roskalista. Sen voi hakea osoitteesta http://meta.wikimedia.org/w/index.php?title=Spam_blacklist&action=raw&sb_ver=1. Tätä listaa ei ole pakko kopioida MediaWikiä ajavalle palvelimelle, vaan $wgSpamBlacklistFiles-taulukkoon voidaan laittaa suoraan tämä osoite.
Näiden lisäksi tämä lisäosa hakee säännöllisiä lausekkeita myös wikin sivulta Mediawiki:Spam-blacklist. Lisäksi erityistä "valkoista listaa", jonka säännölliset lausekkeet määrittävät että kyseisiä lausekkeita toteuttavaa sivua ei koskaan tunnisteta roskaksi, haetaan sivulta MediaWiki:Spam-whitelist.
SpamBlacklist-lisäosa on käytössä Linux.fissä. Käytössä on myös säännöllisin välein päivitettävä MediaWikin roskalista.
Captcha
Captchalla tarkoitetaan menetelmää, jossa käyttäjän on vahvistettava olevansa ihminen kirjoittamalla generoidussa kuvassa olevat kirjaimet tekstikenttään. Kuvasta tehdään yleensä sellainen, että kirjainten tunnistaminen siitä koneellisesti on hyvin haastavaa.
MediaWikiin on mahdollista lisätä Captcha-järjestelmä helposti ConfirmEdit-lisäosalla. Sen asetuksista voi säätää, ketkä joutuvat tunnistautumaan ihmisiksi. Yleensä vaatimus asetetaan ainakin anonyymeille käyttäjille.
Captcha ei ole käytössä esimerkiksi Linux.fissä eikä Wikipediassa, sillä se hankaloittaa joidenkin käyttäjien toimintaa.