====== Чёрный список ====== Интернет теперь не такой, как раньше, всё хорошее портится, это касается и разных вики. [[meatball>WikiSpam|Реклама в вики]], как и в блогах и электронной почте, набирает обороты. Если «[[dokuwiki|Докувики]]» используется в интранете, у вас нет такой проблемы, но если вы намереваетесь использовать её на просторах интернета, то возможно захотите добавить в чёрный список известные вам спам-слова. Для использования чёрного списка в «Докувики» необходимо: * включить опцию конфигурации [[ru:config:usewordblock]], либо прописать в файле ''conf/local.php'' строку ''$conf['usewordblock'] = 1;'', * отредактировать файл ''conf/wordblock.local.conf''. В файле ''[[https://github.com/dokuwiki/dokuwiki/blob/master/conf/wordblock.conf|conf/wordblock.conf]]'' можно посмотреть существующий список блокируемых слов, в том числе с Perl-совместимыми [[wp>ru:Regular_expression|регулярными выражениями]] и если вводимый текст будет соответствовать какому-либо из них, то в сохранении изменённой страницы будет отказано, однако без указания причины. Чтобы засечь совпадения в тексте по текущему списку, воспользуйтесь плагином [[plugin:WhySpam]] для анализа текста. Блокировку по IP можно сделать, воспользовавшись запрещающим указанием (директивой) серверу Apache [[http://httpd.apache.org/docs/2.0/mod/mod_access.html#deny|deny]] или плагином [[plugin:ipban|IP Banning]]. ===== Добавление и удаление блокируемых слов из списка ===== Вы можете добавить свои собственные блокируемые слова, создав файл ''%%conf/wordblock.local.conf%%'' и поместив свои сокращения. (long|loud) shouting Отключите блокируемые слова по умолчанию, добавив в начале восклицательный знак (''!''): !woww gold ===== Источники чёрного списка ===== Рекомендуется ежедневно обновлять чёрный список из общественных ресурсов. Вот эти ресурсы: ==== Википедия ==== Хорошие люди в Википедии поддерживают подобный [[wpmeta>Spam_blacklist|чёрный список]]. Используйте следующую команду для обновления своего чёрного списка из этого источника: $> curl http://meta.wikimedia.org/wiki/Spam_blacklist?action=raw |grep -v '
' > conf/wordblock.conf

===== Ведение журнала блокируемых атак =====

Небольшое изменение файла [[xref>inc/common.php]] позволит регистрировать заблокированные атаки в файле ''/data/meta/wordblock.log'' и может быть использовано для корректировки чёрного списка.

**Найдите строку:**

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


**Замените на:**

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


===== Смотрите также =====

  * [[ru:config|Конфигурирование «Докувики»]]