ASP.Net MVC3 - есть ли способ игнорировать запрос? - PullRequest
2 голосов
/ 17 января 2012

У меня есть сайт ASP MVC3 со службой API отдыха.Когда пользователь передает недопустимый API или он занесен в черный список, я хочу игнорировать ответ.Я знаю, что могу отправить 404 или передать 503, но если кто-то продолжит опрашивать меня, то в идеале я бы хотел игнорировать ответ, вызвавший тайм-аут их окончания.Таким образом, задерживая удар, который получает мой сервер.

Возможно ли это в ASP.net MVC3?Если так, то любая помощь будет наиболее ценной.Спасибо

1 Ответ

1 голос
/ 17 января 2012

Для того, что вы хотите, вам все равно нужно проанализировать запрос, поэтому он всегда будет потреблять ресурсы сервера, особенно если у вас есть раздражающий пользователь , отправляющий запрос каждые 500 мс ...

В этих ситуациях вы блокируете IP / заголовок запроса на период, например, 10 минут, но было бы очень неплохо заблокировать его на вашем балансировщике нагрузки и предотвратить этот запрос, который даже достигнет вашего приложения, этоэто легко сделать, если вы используете сервисы Amazon для запуска своего Сервиса, но все другие облачные провайдеры также поддерживают это, если каким-либо образом вы используете облачный хостинг.

, если вы можете использовать только свой вебприложения, и это решение, которое не тестировалось, вы можете добавить игнорируемый маршрут к вашему механизму маршрутизации, например:

routes.IgnoreRoute("{*allignore}", new {allignore=@".*\.ignore(/.*)?"});

и, проверив, что IP заблокирован, просто перенаправить, используя, например, Response.Redirect()на ваш сайт, на путь .ignore ... или почему бы не перенаправить этот запрос на google.com просто ради удовольствия?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...