@recloudor

Можно ли подделать Content-length?

В интернете инфу не нашел.

Заголовок с content-length отправляется браузером или как это все происходит?

К примеру, сервер принимает запрос на получение файла, безопасно ли доверять content-length?
  • Вопрос задан
  • 224 просмотра
Решения вопроса 1
nazarpc
@nazarpc
Open Source enthusiast
Если Content-Length больше фактического тела, тогда веб-сервер будет ожидать получения данных и в итоге завалится по таймауту так и не дождавшись всех данных (либо часть следующего запроса попадет в конец тела текущего), если же наоборот - то конец текущего запроса попадет в начало следующего и следующий запрос завалится.
То есть если вы получили корректный запрос - то Content-Length это фактическое количество данных.
Если вы реализовываете HTTP сервер самостоятельно - вам нужно всё это проверять, если же пользуетесь готовым - то по факту да, можно доверять.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@vilgeforce
Раздолбай и программист
Думаю, это можно легко проверить при помощи curl и ручного формирования заголовков.
Ответ написан
Комментировать
333Serega333
@333Serega333
333Serega333
$post_data = array(
    "end" => array("dateTime" => "2013-14-11T10:40:00.000-07:00"),  
    "start" => array("dateTime" => "2013-14-11T10:00:00.000-07:00"),  
    "summary" => "my_summary",
    "description" => "my_description"
);

$post_data = json_encode($post_data);
curl_setopt($ch2, CURLOPT_HTTPHEADER, array(  
   'Content-Type: application/json',  
   'Content-Length: ' . strlen($post_data),)  
 );


Значение Content-Length можно задать самостоятельно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы