Это будет зависеть от вашего сервера переднего плана. Если у него есть какая-либо конфигурация для блокировки большого запроса даже до того, как он поступит в ваше приложение, используйте его.
Если вы хотите заблокировать это своим кодом, я вижу два подхода:
- Посмотрите, есть заголовок HTTP длины содержимого. Если он больше, чем вы можете обработать, немедленно отклоните запрос.
- Не доверяйте заголовкам и начинайте читать тело запроса, пока не достигнете своего предела. Обратите внимание, что это не очень умный способ, но может работать. =)
Доверие к заголовку HTTP может привести к некоторым проблемам. Предположим, кто-то отправляет запрос с Content-Length: 1024, но отправляет тело запроса объемом 1 ГБ. Если ваш интерфейсный сервер доверяет заголовку, он начнет читать этот запрос и позже узнает, что тело запроса на самом деле намного больше, чем должно быть. Эта ситуация все еще может заполнить ваш серверный диск, даже будучи запросом, который «проходит» «слишком большую проверку».
Хотя это может произойти, я думаю, что доверие к Заголовку было бы хорошей отправной точкой.