DokuWiki

It's better when it's simple

Инструменты пользователя

Инструменты сайта


ru:blacklist

Чёрный список

Интернет теперь не такой, как раньше, всё хорошее портится, это касается и разных вики. Реклама в вики, как и в блогах и электронной почте, набирает обороты. Если «Докувики» используется в интранете, у вас нет такой проблемы, но если вы намереваетесь использовать её на просторах интернета, то возможно захотите добавить в чёрный список известные вам спам-слова.

Для использования чёрного списка в «Докувики» необходимо:

  • включить опцию конфигурации usewordblock, либо прописать в файле conf/local.php строку $conf['usewordblock'] = 1;,
  • отредактировать файл conf/wordblock.local.conf. В файле conf/wordblock.conf можно посмотреть существующий список блокируемых слов, в том числе с Perl-совместимыми регулярными выражениями и если вводимый текст будет соответствовать какому-либо из них, то в сохранении изменённой страницы будет отказано, однако без указания причины. Чтобы засечь совпадения в тексте по текущему списку, воспользуйтесь плагином WhySpam для анализа текста.

Блокировку по IP можно сделать, воспользовавшись запрещающим указанием (директивой) серверу Apache deny или плагином IP Banning.

Добавление и удаление блокируемых слов из списка

Вы можете добавить свои собственные блокируемые слова, создав файл conf/wordblock.local.conf и поместив свои сокращения.

(long|loud) shouting

Отключите блокируемые слова по умолчанию, добавив в начале восклицательный знак (!):

!woww gold

Источники чёрного списка

Рекомендуется ежедневно обновлять чёрный список из общественных ресурсов. Вот эти ресурсы:

Википедия

Хорошие люди в Википедии поддерживают подобный чёрный список. Используйте следующую команду для обновления своего чёрного списка из этого источника:

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

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

Небольшое изменение файла 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/blacklist.txt · Последнее изменение: 2023-02-28 12:14 — Aleksandr

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: 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