Roskaamisen torjunta MediaWikissä

Linux.fista
Versio hetkellä 5. heinäkuuta 2009 kello 19.11 – tehnyt Heikki (keskustelu | muokkaukset) (välitallennus)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

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.

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.

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.