Блокировать доступ, когда urn содержит параметр ?n_items=

Вопрос или проблема

В последние 10 дней мои сайты принимают слишком много запросов в день (более 18.000) от различных IP-адресов (по одному запросу от IP) с командой get и параметром ?n_items=. Я хочу заблокировать все эти запросы, содержащие этот параметр.

Может кто-то помочь?

Спасибо

Я еще ничего не пробовал, так как не уверен.

Ответ или решение

Чтобы заблокировать все запросы, содержащие параметр ?n_items=, вы можете использовать различные методы в зависимости от того, какой у вас веб-сервер. Вот несколько способов, как это сделать, например, для Apache и Nginx.

Для Apache

  1. Использование .htaccess:

    Вам нужно добавить следующее правило в файл .htaccess, который находится в корневом каталоге вашего сайта:

    RewriteEngine On
    RewriteCond %{QUERY_STRING} ^n_items= [NC]
    RewriteRule ^ - [F,L]

    Это правило включает механизм переписывания URL. RewriteCond проверяет, содержит ли строка запроса n_items=, и если это так, RewriteRule отказывает в доступе, возвращая статус 403 (запрещено).

  2. Перезагрузите сервер:

    После внесения изменений в файл .htaccess не забудьте перезагрузить сервер, чтобы изменения вступили в силу.

Для Nginx

Если вы используете Nginx, вы можете добавить следующее правило в ваш конфигурационный файл:

server {
    ...
    if ($arg_n_items) {
        return 403;
    }
    ...
}
  1. Добавьте этот код в блок server вашего конфигурационного файла Nginx, который обычно находится по пути /etc/nginx/nginx.conf или в файлах, расположенных в /etc/nginx/sites-available/.

  2. Перезагрузите Nginx:

    После внесения изменений выполните команду:

    sudo systemctl reload nginx

Использование брандмауэра

Вы также можете использовать брандмауэр вашего сервера, например, UFW (Uncomplicated Firewall) или iptables, для ограничения доступа, но это будет более сложный метод и требует дополнительной настройки.

Мониторинг запросов

Рекомендуется также настроить систему мониторинга веб-запросов, например, с использованием логов, чтобы отслеживать IP-адреса, которые делают нежелательные запросы, и при необходимости их блокировать.

Заключение

После реализации одного из методов выше, все запросы с параметром ?n_items= должны быть заблокированы. Убедитесь, что вы протестировали изменения, чтобы гарантировать, что они работают должным образом, и что это не повлияет на легитимных пользователей вашего сайта. Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь обратиться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...