TsgcHTTPServer › Özellikler › MaxRequestBodySize

MaxRequestBodySize Özellik

Gelen bir HTTP istek gövdesinin bayt cinsinden maksimum boyutu; sunucuyu bellek tüketme saldırılarından korur.

Sözdizimi

property MaxRequestBodySize: Int64 read GetMaxRequestBodySize write SetMaxRequestBodySize;

Varsayılan Değer

67108864 (64 MB). Sınırsız için 0 kullanın.

Remarks

MaxRequestBodySize, gelen bir HTTP istek gövdesinin boyutunu sınırlar. Böyle bir sınır olmadan bir istemci devasa bir Content-Length bildirebilir ve belleğini tüketmek için sunucuya sınırsız bir gövde akıtabilir. Bir isteğin bildirilen gövde boyutu bu sınırı aştığında, sunucu isteği arabelleğe almak yerine HTTP durum kodu 413 (Payload Too Large) ile reddeder, böylece herhangi bir büyük ayırma gerçekleşmeden önce girişim durdurulur.

Varsayılan 64 MB değeri uygulamaların büyük çoğunluğu için güvenlidir. Uygulamanız HTTP POST aracılığıyla meşru olarak büyük yüklemeleri kabul ediyorsa yükseltin veya herkese açık bir sunucuda bellek sınırını sıkılaştırmak için düşürün. 0 değeri sınırı tamamen devre dışı bırakır (güvenilmeyen ağlardan erişilebilen bir sunucuda önerilmez).

Örnek


oServer := TsgcHTTPServer.Create(nil);
oServer.Port := 80;
// HTTP isteğinin gövdesi 16 MB'tan büyükse reddet (HTTP 413)
oServer.MaxRequestBodySize := 16 * 1024 * 1024;
oServer.Active := true;

Özelliklere Dön