Можно ли предотвратить загрузку больших файлов на сервер, указав максимальный размер тела запроса?

У меня есть сервер в cherrpy, где я хочу предотвратить загрузку больших файлов. Чтобы предотвратить это, я указываю максимальный размер тела запроса. Однако я не совсем уверен, предотвращает ли это загрузку больших файлов. Что делать, если кто-то указывает неправильную длину контента при загрузке файла? Будет ли этого достаточно, чтобы обмануть мой сервер?


person Cemre Mengü    schedule 07.01.2013    source источник


Ответы (2)


Я бы использовал Curl, чтобы попытаться проверить вашу теорию. Похоже, это может работать для установки фиктивной длины содержимого.

curl_setopt($ch, CURLOPT_HTTPHEADER, 'Content-Type: application/octet-stream','Content-length: 100');

Использование длины контента Curl

Надеюсь это поможет!

Эндрю

person Andrew Kloos    schedule 07.01.2013

CherryPy не разрешает полную загрузку во всех случаях. CherryPy wsgiserver будет жаловаться, если значение Content-Length запроса превысит максимальное значение. Если Content-Length меньше указанного максимума, сервер попытается прочитать только это количество байтов. Если запрос использует фрагментированное кодирование (и, следовательно, не включает Content-Length), то CherryPy будет жаловаться, когда количество прочитанных байтов превысит указанный максимум.

person fumanchu    schedule 07.01.2013