Борьба со спамботами

Материал из Мегапедии
Перейти к: навигация, поиск

Борьба со спамботами — борьба с новым видом спамботов, появившимися в вики-проектах в 2012.

Каптча

Эти спамботы характеризуются возможностью обходить стандартные методы каптчи (в частности, SimpleCaptcha в mediawiki, которая предлагает решение простого арифметического примера), поэтому надёжный способ — использование QuestyCaptcha с простыми вопросами на русском языке. Спамботы не в состоянии обойти такую каптчу:

$wgCaptchaClass = 'QuestyCaptcha';
$wgCaptchaQuestions[] = array( 'question' => 'Вопрос:', 'answer' => 'Ответ' );
...

Очистка от спама

Если спамботы успели достаточно замусорить вики-проект, можно провести зачистку оставленного ими спама из базы данных (данные спамботов не представляют ценности, поэтому их полное удаление не может повредить вики-проекту). Для этого надо составить список спам-ботов на основе журнала регистрации (их выдают характерные ботоподобные логины, составлять надо с осторожностию, чтобы не попасть по добросовестным пользователям), затем составить .sql-файл команд с помощью обработки списка регулярным выражением:

Поиск: ^.*?201\d (\w+) \(обсу.*?$
Заменить на: delete from recentchanges where rc_log_type = 'newusers' and rc_user_text = '\1';\ndelete from logging where log_type = 'newusers' and log_user_text = '\1';\ndelete from user where user_name = '\1';\ndelete from abuse_filter_log where afl_user_text = '\1';\ndelete from ipblocks where ipb_address = '\1';\ndelete from logging where log_type = 'block' and log_title = '\1';

Затем этот sql-файл надо применить к базе данных, что зачистит все признаки спамботов из всех журналов, списков, служебных страниц. Далее необходимо зачистить записи в таблице text, соответствующие срабатываниям фильтра или удалённому спаму (для оптимизации размера базы данных), запустить initStats.php для пересчёта числа зарегистрированных участников.