- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, есть к примеру 5 страниц:
/index.pl?get_id=1
/index.pl?get_id=2
/index.pl?get_id=3
/index.pl?get_id=4
/index.pl?get_id=5
Как можно вывести ошибку 404 к для последнего запроса "/index.pl?get_id=5" использую только nginx ?
Есть ли вообще в nginx такая возможность или может быть модуль который позволяет работать с запросами такого плана ?
Вам нужно ограничить число запросов к бекенду или за единицу времени с ip адреса ?
Вам нужно ограничить число запросов к бекенду или за единицу времени с ip адреса ?
нет, нужно просто вывести ошибку 404 на определенные страницы.
К примеру в файле "index.pl", есть всего две функции:
/index.pl/?get=user
/index.pl/?get=user2
Если к скрипту обратиться так "/?get=user3" или любой другой текст после знака "?", скрипт обработает запросы и выдаст ошибку так как такая функция в нем не описана, но при этом скрипт "index.pl" все равно обрабатывает запрос "/?get=user3", а нужно бы что бы этот запрос блокировался на nginx не доходя до скрипта "index.pl".
Проще говоря мне нужно что-бы всего два запроса обрабатывал "index.pl"
/index.pl/?get=user
/index.pl/?get=user2
А остальные запросы типа "/index.pl/?get=user3" и т.д блокировались на уровне nginx не доходя до самого скрипта.
neoks, С ходу решения подобного не припомню, тут в любом случае регулярка, вопрос в том решается стандартными средствами или нет, если не решается надо писать модуль на perl например.
location ~* "^/index.pl/?(get=user1|get=user[3-9])"
{
deny all; # запретить все для всех
return 404; # вернуть код ошибки
}
??????)
if ($request_uri = "/index.pl?get_id=5") {
return 404;
}
нет, нужно просто вывести ошибку 404 на определенные страницы.
К примеру в файле "index.pl", есть всего две функции:
/index.pl/?get=user
/index.pl/?get=user2
Если к скрипту обратиться так "/?get=user3" или любой другой текст после знака "?", скрипт обработает запросы и выдаст ошибку так как такая функция в нем не описана, но при этом скрипт "index.pl" все равно обрабатывает запрос "/?get=user3", а нужно бы что бы этот запрос блокировался на nginx не доходя до скрипта "index.pl".
Проще говоря мне нужно что-бы всего два запроса обрабатывал "index.pl"
/index.pl/?get=user
/index.pl/?get=user2
А остальные запросы типа "/index.pl/?get=user3" и т.д блокировались на уровне nginx не доходя до самого скрипта.
задача решается следующим способом:
создается локейшен, для запроса /index.pl/
если самому сложно составить regexp для запроса, пишите сюда конкретную задачу - напишу
к примеру, если запросить ( /index.pl?get=user или /?get=user ) - в даном случае запрос в указаный локейшне не попадет
Всем спасибо, это то что нужно, просто долго не мог найти на оф сайте какой функцией обрабатывать именно такие запросы.
Тему можно закрывать.
создается локейшен, для запроса /index.pl/
А зачем отдельный локейшин чтобы проверить один аргумент? разве в каком нибудь общим это сделать нельзя?
локейшин не нужен. Зачем лишний код.
А зачем отдельный локейшин чтобы проверить один аргумент? разве в каком нибудь общим это сделать нельзя?
можно и в общем локейшене, выполнять проверку, но если к другому скрипту будут обращаться с этими же аргументами, могут быть проблемы, и самое важное, не будет лишних regex'повых проверок при каждом обращению к сайту, это экономия на спичках, но зачем сразу делать криво :)
---------- Добавлено 11.10.2013 в 11:27 ----------
и еще, сделать двойную проверку без локейшена еще хуже :)