• Блог
  • Блокирование пользователей по ip

У меня на сайте установлено мое дополнение siteStatistics, регистрирующее всех пришедших пользователей — их ip, referer, userAgent. И в последнее время обнаружил очень большое количество каких-то непонятных записей. Раньше тоже было, но мало.

Пример 1. Запросы с непонятным реферером.
Пример 2. Большое количество запросов одной страницы с одного ip. Похоже на скликивание.

Эти запросы сбивают статистику посещения и накручивают счётчики просмотров. Меня это не очень устраивает. Точнее, вообще не устраивает. Поэтому я решил взять ситуацию под контроль. Очевидно, что это не обычные пользователи, а боты. Самый простой вариант — блокировать их. Это можно сделать или через настройки вэб-сервера или методами самого MODX. Я выбрал второй вариант, так как он более простой для меня. Перед тем как приступить к доработке siteStatistics решил поискать готовое решение. И нашёл. Компонент easyBlackList.

Прочитав описание возможностей, я решил его установить. Конечно, глядя на код видно, что автор только начинает постигать искусство создания компонентов MODX (по состоянию на май 2015 года). Но тем не менее, компонент решает поставленную задачу.

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

Для себя я немного доработал компонент — добавил пару полей, функций, процессоров, допилил таблицу, исправил ошибки. Но ещё решил похулиганить. На первой картинке видно, что в поле «referer» указаны урлы каких-то сайтов. Я сделал переадресацию для таких ip на эти самые сайты.

После доработки таблица компонента у меня выглядит так

Так что, если у вас есть задача ограничить доступ к сайту по ip через удобный интерфейс, то easyBlackList самое то.

0   4480

Комментарии ()

  1. Vladimir 08 сентября 2016 # 0
    Доброго дня!
    А хорошо бы иметь возможность экспорта данных в csv. Пользуюсь компонентом siteStatistics, да, много интересного, особенно учитывая что Я-Метрика с некоторых пор скрывает IP посетителей, например, и не учитывает кто, сколько и т.п. смотрит RSS и другие подобные файлы, то сбор статистки независимым компонентом более чем оправдан. Вот бы выгружать статистику еще:)
    1. Сергей Шлоков 08 сентября 2016 # +1
      Добрый вечер!
      Хотя для доброго уж слишком ветренно и дождливо.:)
      Я помню про твоё пожелание о выгрузке. siteStatistics в процессе доработки — делаю для пользователей такой же фильтр как для ресурсов. Если удастся быстро разобраться с экспортом, сделаю в следующей версии.
      1. Vladimir 08 сентября 2016 # 0
        Спасибо!
    2. Евгений 30 августа 2018 # 0
      А вы не выкладывали доработанный компонент?

      Спасибо.
      1. Сергей Шлоков 30 августа 2018 # 0
        Куда я должен был его выложить?
        1. Евгений 30 августа 2018 # 0
          Не должны, но я был бы благодарен, чтобы не проделывать ту же самую работу;)
          1. Сергей Шлоков 30 августа 2018 # 0
            Если успею, завтра тут выложу пакет. Если нет, после выходных.
            1. Евгений 31 августа 2018 # 0
              Спасибо большое!
              1. Сергей Шлоков 02 сентября 2018 # 0
                1. Евгений 24 сентября 2018 # 0
                  Спасибо большое.

      Вы должны авторизоваться, чтобы оставлять комментарии.

      Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.