Зачистка MediaWiki за допомогою iMacros.

Нарешті iMacros в моєму Firefox дочекався відповідального завдання за прямим призначенням. Для тих, хто не в курсі – макроси покликані автоматизовувати рутинну діяльність користувача, що полягає у виконанні послідовностей однотипних дій. Читаючи різні приклади макросів, якими рясніє мережа (автолайкери, автофолловери, автоматичний запис результатів пошуку і т.п.) якось навіть не віриш, що макрос в браузері може виконувати яку-небудь корисну роботу. Я кажуть, не було б щастя… Наприкінці минулого тижня в навчальну MediaWiki “Словник з інформатики” завітали спамери. Результат: 218 фантом-користувачів, від імені яких створено приблизно таку ж кількість сторінок з рекламою сумнівних інтернет-ресурсів, онлайн-казино, не всюди легальних медичних препаратів, тощо.

Оскільки активної діяльності інших користувачів за згаданий період не спостерігалося, то найпростішим способом усунення проблеми могло стати відновлення резервної копії проекту. При цьому інформація про небажаних гостей буде втрачена, що дасть їм змогу повторити свій “подвиг”. Заборона ж вільної реєстрації учасників, яку сьогодні практикують багато Вікіпедій, взагалі кажучи, суперечить основним принципам функціонування проектів цього типу. Пошук більш конструктивних засобів, зважаючи на специфічну структуру СMS MediaWiki, може вимагати відповідних професійних навичок, а також часу на їх набуття. Найпростішим виходом з ситуації є блокування небажаних користувачів та видалення їх “творчого доробку” адміністративними засобами самої MediaWiki. При цьому масове виконання цієї процедури можна доручити макросу.

В ході експерименту першим був створений макрос для блокування користувачів, але макрос для видалення сторінок виявився простішим, тому почнемо розмову з нього.
Заходимо на сайт від імені адміністратора, знаходимо в спеціальних сторінках Вікі сторінку “Нові сторінки”. Вмикаємо запис макроса і виконуємо видалення першої сторінки зі списку. Оскільки макрос запам’ятовуватиме назву сторінки, то краще перехід до сторінки виконати за посиланням “історія” – воно має однакову назву для всіх сторінок. (Більш детально про запис макроса – в попередній публікації на цю тему)

спам

Далі переходимо на вкладку “вилучити”, вибираємо зі списку причину “спам”, решта полів залишаємо порожніми і натискаємо кнопку “Вилучити сторінку”.

вилучити сторінку

Отримаємо такий код макроса у файлі #Current.iim. Його бажано зберегти з якоюсь більш змістовною назвою, наприклад ВилучитиWikiСторінку.iim.

код макроса

Повернувшись на сторінку “Нові сторінки” бачимо, що вилученої сторінки в списку вже немає. Тобто четверта стрічка коду макроса:

TAG POS=1 TYPE=A ATTR=TXT:історія

після кожного виконання на першій позиції знаходитиме наступну сторінку зі списку. Можна випробувати роботу створеного макроса кілька раз виконавши його у звичайному режимі. Далі запускаємо циклічне виконання макроса, наприклад, 50 разів. І йдемо пити каву. До речі, для кави краще задати 100 циклів, бо виконання 50 займе не більше 4-х хвилин.

результат роботи

P.S. Що стосується другого макроса для блокування користувачів то він потребуватиме редагування. Одна з відмінностей полягає в тому, що на сторінці користувачів заблоковані користувачі залишаються у списку, тому в стрічці:

TAG POS=1 TYPE=A ATTR=TXT:заблокувати

для циклічного виконання слід “POS=1″ замінити на “POS=!LOOP”. Або “загорнути” код макроса в цикл на JavaScript.

One single comment

  1. admin коментує:

    Черговий спам-кидок 2-3 лютого 2015. Результат: 79 спам-акаунтів, 75 спам-сторінок. Наслідки – пара дій мишою, пів години роботи макроса в браузері, всіх заблоковано, стрінки видалені (див.тут).

Напишіть відгук

Ваша пошт@ не публікуватиметься. Обов’язкові поля позначені *

*

Можна використовувати XHTML теґи та атрибути: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>