Вопрос или проблема
В последние 10 дней мои сайты принимают слишком много запросов в день (более 18.000) от различных IP-адресов (по одному запросу от IP) с командой get и параметром ?n_items=. Я хочу заблокировать все эти запросы, содержащие этот параметр.
Может кто-то помочь?
Спасибо
Я еще ничего не пробовал, так как не уверен.
Ответ или решение
Чтобы заблокировать все запросы, содержащие параметр ?n_items=
, вы можете использовать различные методы в зависимости от того, какой у вас веб-сервер. Вот несколько способов, как это сделать, например, для Apache и Nginx.
Для Apache
-
Использование .htaccess:
Вам нужно добавить следующее правило в файл
.htaccess
, который находится в корневом каталоге вашего сайта:RewriteEngine On RewriteCond %{QUERY_STRING} ^n_items= [NC] RewriteRule ^ - [F,L]
Это правило включает механизм переписывания URL.
RewriteCond
проверяет, содержит ли строка запросаn_items=
, и если это так,RewriteRule
отказывает в доступе, возвращая статус 403 (запрещено). -
Перезагрузите сервер:
После внесения изменений в файл
.htaccess
не забудьте перезагрузить сервер, чтобы изменения вступили в силу.
Для Nginx
Если вы используете Nginx, вы можете добавить следующее правило в ваш конфигурационный файл:
server {
...
if ($arg_n_items) {
return 403;
}
...
}
-
Добавьте этот код в блок
server
вашего конфигурационного файла Nginx, который обычно находится по пути/etc/nginx/nginx.conf
или в файлах, расположенных в/etc/nginx/sites-available/
. -
Перезагрузите Nginx:
После внесения изменений выполните команду:
sudo systemctl reload nginx
Использование брандмауэра
Вы также можете использовать брандмауэр вашего сервера, например, UFW (Uncomplicated Firewall) или iptables, для ограничения доступа, но это будет более сложный метод и требует дополнительной настройки.
Мониторинг запросов
Рекомендуется также настроить систему мониторинга веб-запросов, например, с использованием логов, чтобы отслеживать IP-адреса, которые делают нежелательные запросы, и при необходимости их блокировать.
Заключение
После реализации одного из методов выше, все запросы с параметром ?n_items=
должны быть заблокированы. Убедитесь, что вы протестировали изменения, чтобы гарантировать, что они работают должным образом, и что это не повлияет на легитимных пользователей вашего сайта. Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь обратиться за помощью.