TsgcHTTPServer › Właściwości › MaxRequestBodySize
Maksymalny rozmiar w bajtach przychodzącej treści żądania HTTP; chroni serwer przed atakami wyczerpującymi pamięć.
property MaxRequestBodySize: Int64 read GetMaxRequestBodySize write SetMaxRequestBodySize;
67108864 (64 MB). Użyj 0, aby uzyskać brak limitu.
MaxRequestBodySize ogranicza rozmiar przychodzącej treści żądania HTTP. Bez takiego ograniczenia klient może zadeklarować ogromny Content-Length i przesyłać nieograniczoną treść do serwera, aby wyczerpać jego pamięć. Gdy zadeklarowany rozmiar treści żądania przekracza ten limit, serwer odrzuca żądanie ze statusem HTTP 413 (Payload Too Large) zamiast go buforować, więc próba zostaje zatrzymana, zanim nastąpi jakakolwiek duża alokacja.
Wartość domyślna 64 MB jest bezpieczna dla zdecydowanej większości aplikacji. Zwiększ ją, jeśli Twoja aplikacja rzeczywiście przyjmuje duże przesyłane pliki przez HTTP POST, albo zmniejsz, aby zaostrzyć limit pamięci na serwerze dostępnym publicznie. Wartość 0 całkowicie wyłącza limit (niezalecane na serwerze dostępnym z niezaufanych sieci).
oServer := TsgcHTTPServer.Create(nil);
oServer.Port := 80;
// reject any HTTP request whose body is larger than 16 MB (HTTP 413)
oServer.MaxRequestBodySize := 16 * 1024 * 1024;
oServer.Active := true;