DokuWiki

It's better when it's simple

Gebruikershulpmiddelen

Site-hulpmiddelen


nl:blacklist

Blacklisting

Het internet is niet beter dan iets anders. Al het goede raakt bedorven en zo is het ook met Wiki's. WikiSpam, zoals Spam in blogs en email nemen toe. Als je DokuWiki in je Intranet gebruikt is dit geen probleem voor jou, maar als je van plan bent het op het open internet te plaatsen wil je sommige bekende Spamwoorden blacklisten.

Om een blacklist in DokuWiki te gebruiken moet je de configuratieoptie usewordblock inschakelen (standaard aan) en bewerk het conf/wordblock.local.conf-bestand. Je kunt een blik werpen in het bestand conf/wordblock.conf voor een lijst met bestaande geblokkeerde woorden. Het bestand bevat Regular Expressions (Perl compatibel) als een van deze overeenkomt is opslaan niet mogelijk.

IP gebaseerd blokkeren kan worden gedaan met Apache's deny from directives of met de ipban plugin.

Om te begrijpen waarom een bepaalde tekst geblokkeerd wordt als spam, kun je de plugin whyspam gebruiken om de tekst te analyseren.

Blacklist bronnen

Het wordt aanbevolen om de blacklist dagelijks met een cronjob te updaten vanuit publieke bronnen. Hier is een lijst van bronnen die gebruikt kunnen worden.

Chongqed

De blacklist wordt onderhouden door mensen van chongqed.org en lijkt niet langer beschikbaar

$> wget http://blacklist.chongqed.org/ -O conf/wordblock.conf

Wikipedia

De aardige mensen van Wikipedia onderhouden een vergelijkbare blacklist. Je kunt het volgende commando gebruiken om je blacklist vanuit deze bron te updaten:

$> curl http://meta.wikimedia.org/wiki/Spam_blacklist?action=raw |grep -v '<pre>' > conf/wordblock.conf

Het loggen van geblokkeerde aanvallen

Deze kleine wijziging maakt het mogelijk geblokkeerde aanvallen te loggen in \DATA\meta\wordblock.log en kan worden gebruikt om de blokkeerlijst te debugging.
Het is nodig om een originele DokuWiki bestand aan te passen.

Bestand: \inc\common.php

Zoek regel:

function checkwordblock($text=''){
[...]
   if(count($re) && preg_match('#('.join('|',$re).')#si',$text,$matches)) {
      // prepare event data
      $data['matches'] = $matches;
      $data['userinfo']['ip'] = $_SERVER['REMOTE_ADDR'];
[...]

Verander het in:

function checkwordblock($text=''){
[...]
    if(count($re) && preg_match('#('.join('|',$re).')#si',$text,$matches)) {
       // prepare event data       
       io_saveFile($conf['metadir'].'/wordblock.log', strftime($conf['dformat'])."\t".$matches[0]."\t".$ID.$_SERVER['REMOTE_USER']."\t".$_SERVER['REMOTE_ADDR'].":".$_SERVER['SERVER_PORT']."\t".gethostbyaddr($_SERVER['REMOTE_ADDR'])."\t".$_SERVER['HTTP_USER_AGENT']."\n", true);
 
      $data['matches'] = $matches;
      $data['userinfo']['ip'] = $_SERVER['REMOTE_ADDR'];
[...]
nl/blacklist.txt · Laatst gewijzigd: 2013-01-14 18:07 door Klap-in

Tenzij anders vermeld valt de inhoud van deze wiki onder de volgende licentie: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki