DokuWiki

Je lepší, když je to jednoduché

Nástroje uživatele

Nástroje webu


blacklist

Zařazení na černou listinu

https://www.dokuwiki.org/blacklist

FIXME Je potřeba zkontrolovat!

Internet už není tím, čím býval. Všechno dobré se časem zneužije - a wiki není výjimkou. WikiSpam, podobně jako spam v blozích nebo e-mailech, je na vzestupu. Pokud používáte DokuWiki v rámci intranetu, nemusíte se tím trápit. Ale pokud ji provozujete veřejně na internetu, možná budete chtít zablokovat některé známé spamové výrazy.

Pro použití blacklistu v DokuWiki:

Soubor obsahuje Regulární výrazy (kompatibilní s Perl syntaxí). Pokud se některý výraz shoduje, uložení stránky je zakázáno. Pro zjištění, proč byl určitý text označen jako spam, použijte plugin plugin:whyspam.

Blokování podle IP adresy lze provést pomocí direktiv Apache deny from nebo pomocí pluginu plugin:ipban.

Přidávání/odebírání blokovaných výrazů

Vlastní výrazy můžete přidat vytvořením souboru conf/wordblock.local.conf a vložením výrazů:

(long|loud) shouting

Výchozí blokované výrazy lze deaktivovat prefixem !:

!woww gold

Zdroje pro blacklist

Doporučuje se aktualizovat blacklist z veřejného zdroje pomocí denního cronjobu. Zde je jeden z dostupných zdrojů:

Wikipedie

Wikipedie udržuje podobný blacklist. Pro aktualizaci můžete použít následující příkaz:

$> curl -sk https://meta.wikimedia.org/wiki/Spam_blacklist?action=raw | egrep -v '<?pre>' > conf/wordblock.local.conf

Nezapomeňte vytvořit soubor conf/wordblock.local.conf.

Logování zablokovaných útoků

Malá úprava v souboru inc/common.php umožní logovat zablokované pokusy do /data/meta/wordblock.log a může se hodit i pro ladění blacklistu.

Vyhledejte řádek:

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'];
[...]

Změňte na:

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'];
[...]

Viz také

blacklist.txt • Poslední změna: (upraveno správcem (MartinR) mimo DokuWiki)

Pokud není uvedeno jinak, je obsah této wiki dostupný pod licencí:
CC-BY-SA • Uveďte původ - Zachovejte licenci 4.0 Mezinárodní
CC-BY-SA • Uveďte původ - Zachovejte licenci 4.0 Mezinárodní Darovat Běží na PHP Validátor HTML5 Validátor CSS Běží na DokuWiki

Našli jste na stránce chybu, nebo překlep?
Budu vděčný za upozornění.
Děkuji

Nahoru