Защита Mediawiki от экспорта статей

В один из хмурых дней, когда ваша вики станет немного популярной и прибыльной, вы обнаружите в сети клон своего сайта. Причем скопировано будет все — статьи, шаблоны, картинки. Избежать этого, в силу особенностей движка Mediawiki практически невозможно, но затруднить жизнь халявщикам — очень даже полезно.

Одним из способов воровства вашего контента является спецстраница экспорта — Special:Export (в русской локализации — Служебная:Экспорт). Она позволяет экспортировать все статьи и используемые в этих статьях шаблоны из заданной категории. А при импорте в другую вики дополнительно с вашего сайта стянутся и картинки.

Кроме очевидного ущерба в виде дублирования ваших статей в поисковиках и потери посетителей, операция экспорта к тому же и ресурсозатратна — ваш сайт спокойно и резво может «лечь», как от DDoS-атаки.

Как же этого избежать

Необходимо добавить в файл настроек вашей вики (LocalSettings.php) следующий код:

function removeExportSpecial(&$aSpecialPages)
{
        unset($aSpecialPages['Export']);
        return true;
}
$wgHooks['SpecialPage_initList'][] = 'removeExportSpecial';

Он скроет страницу экспорта из списка служебных страниц. А для особо умных, которые попробуют написать адрес страницы экспорта вручную, напишет, что такой страницы нет.

Однако, стоит обратить внимание, что в случае, если в вашей вики активировано API, то экспорт статей через него остается доступным и боты смогут воровать ваш контент не хуже людей.

По мотивам mediawiki.org/wiki/Manual:Parameters_to_Special:Export