[easyBlacklist] Очень простой чёрный список IP

Для заказчика необходим был чёрный список IP-адресов. И чтобы для заблокированных IP сайт был полностью недоступен. Единственный компонент для MODx, который мне удалось найти, это Rampart, но он требует дополнительно поставить компонент Login и прочие вытекающие. А хотелось независимый от каких-либо компонентов чёрный список.

Поэтому написал свой компонент для блокирования пользователей по IP без привязки к каким-либо компонентам.



Пока обработка события блокировки очень простая. Если пользователь заблокирован, то ему выдаётся пустая страница с единственной надписью «Error 404!». Такова была просьба заказчика.

Компонент написан на скорую руку, поэтому у меня сомнения в том, стоит ли его выкладывать в репозиторий. Исходный код с возможностью автоматической сборки (_build/build.transport.php) доступен на GitHub или можно сразу скачать установочный пакет.

Скачать компонент из магазина: modstore.pro/packages/users/easyblacklist
Исходный код: github.com/dobroweb/easyBlacklist

Будет ли развитие компонента не знаю. Возможно кто-то захочет помочь в развитии компонента или некоторые исправления/добавления в GitHub отправит. Я с радостью их рассмотрю. И буду сам стараться доводить его до ума.

Нужно ли выложить компонент в репозитории?

P.S. Определение путей в _build при сборке немного переписано для моего удобства. Если у вас при сборке возникнут ошибки, пожалуйста, сообщите их в комментариях.
Сергей Фещуков
Сергей Фещуков
14 мая 2015, 07:17
modx.pro
6 614
Поблагодарить автора Отправить деньги

Комментарии: 22

Василий Столейков
14 мая 2015, 10:47
1. Было бы здорово причину блокировки выводить и пользователю, а не только в админке. Тогда понимаешь, почему тебя заблокировали и не поднимаешь панику.
2. Возможно одноразовый запрос со стороны заблокированного пользователя (с причиной и контактами) о восстановлении. Информация о запросах чтобы выводились в второй вкладке для возможной разблокировки или полного бана.
3. Если бы в соседней вкладке плагин собирал ip-адреса последних посетителей сайта, с возможностью их блокировать сразу кнопочкой.
4. Стоит потрудится и причесать пакет и документацию для репозитория! Думаю, он пригодится многим!
    Виктор
    14 мая 2015, 11:06
    Думаю, он пригодится многим!
    но динамический ip, проксеры и торы… я не понимать. Если уж ограничивать доступ к содержимому, то это нужно делать через регистрацию и её подтверждение админом, а так фиговый лист какой-то
      Василий Столейков
      14 мая 2015, 11:14
      Для злонамеренных злоумышленников нужен отдельный разговор…
      Обычный же человек, попав под бан — задумается и даже если и поменяет ip то уже будет осторожным, чтобы не попасть повторно под бан. Для этой же цели я и предлагаю ввести одноразовый запрос на удаление себя из чёрного списка.
        Василий Столейков
        14 мая 2015, 11:15
        Если уж ограничивать доступ к содержимому, то это нужно делать через регистрацию
        Тут речь не только о содержимом, а о всём сайте. Для содержимого есть отдельные дополнения.
          Виктор
          14 мая 2015, 11:22
          Вы про какой-то очень специфичный тип сайта говорите, видимо.
          Как человек может попасть в немилость? Спам в комментарии (любую форму или что-то похожее), а если это спам то человек уже не необычный. Мне кажется в задаче было: «Я хочу заблокировать конкурентов по ip». Серьезно, не могу представить ситуацию где поможет компонент. Только если для роспотребнадзора банить российский регион, но компонент как я понимаю может только определенные ip.
          Не одобренному пользователю можно не показывать как что-то отдельное так и весь сайт.
            Василий Столейков
            14 мая 2015, 11:25
            Возможно вы и правы… Это мои мысли были.
            Только если для роспотребнадзора банить российский регион
            =)))
      Сергей Скат
      14 мая 2015, 14:06
      а чего в modstore не выложишь?
        Сергей Фещуков
        14 мая 2015, 14:31
        Нет документации и код немного надо подправить. Сделать, чтобы при блокировке либо на страницу отсылал, либо шаблон подгружал. В общем, сделать красиво. А потом можно.
        Ivan Shvindin
        14 мая 2015, 14:27
        ещё интересна блокировка по refferer, если не запилите, пришлю PR
        Рустам С
        23 марта 2016, 20:45
        пакет удалили? приложение простое и полезное, как раз понадобилось.
        придется собирать вручную)
        Николай Пиневич
        30 мая 2017, 14:40
        Жаль что компонент как-то привязан к minishop2… Из-за этого не установил, а так хорошая идея.
          Сергей Фещуков
          02 июня 2017, 13:30
          Компонент никакой привязки к miniShop2 не имеет. Просто я забыл в инсталяторе удалить требование, чтобы miniShop2 был установлен. Исправлю этот момент
            Сергей Фещуков
            02 июня 2017, 14:06
            Исправил. Попробуйте теперь установить компонент.
              Николай Пиневич
              03 июня 2017, 12:49
              Спасибо, возможно воспользуюсь компонентом в другом проекте, а пока старым проверенным методом, через .htaccess заблочил IP.
            Андрей
            13 сентября 2017, 13:33
            Добрый день, Сергей.
            В журнале ошибок:

            (ERROR @ /var/www/xxx/data/www/site.ru/core/components/easyblacklist/lexicon/ru/settings.inc.php : 3) PHP warning: include(settings.php): failed to open stream: Нет такого файла или каталога
            Что скажете?
              Сергей Фещуков
              15 сентября 2017, 13:52
              Добрый день.
              Зачем-то пытается подключиться какой-то файл. Надо убрать эту строчку из файла. Я исправлю и выложу обновление.
              Евгений Корчмарек
              24 сентября 2018, 00:59
              Установил новую версию, после обновления при попытке зайти в меню пишет:

              Could not find action file at: controllers/default/index.php

              И пустое приложение,
                Сергей Фещуков
                02 октября 2018, 15:17
                Я не смог воспроизвести ошибку, к сожалению. Пробовал и обновить, и переустановить. Но всегда всё нормально открывается.
                newbmod
                02 ноября 2024, 12:47
                Здравствуйте!
                Работает только с единичными адресами? Маски, подсети?
                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                  22