2013-12-17 2 views
0

Я создаю веб-приложение, где пользователям будет разрешено отправлять URL-ссылки на различные фрагменты контента. Довольно стандартный. Затем сайт следует URL-адресу и загружает его содержимое. Мне стало очень быстро, что это потенциальная проблема безопасности. Пользователь может легко связать меня с огромным изображением или даже с банальными данными. Очевидно, я не хочу связывать всю свою пропускную способность, загружая это. Поэтому у меня есть общие вопросы веб-программирования.Загруженные пользователем страницы

  1. Насколько я могу доверять HTTP-заголовку, который они мне отправляют? Предположительно, все это может быть ложью. Могу ли я полагаться на атрибут длины контента, или это можно легко скомпоновать? Что относительно типов MIME?

  2. С вопросом 1 в виду, означает ли это, что лучше всего обрабатывать все потоки, загружать их в куски, а затем просто прервать процесс после того, как мы превысили определенный предел данных? Если да, то какой будет подходящий предел, если я загружаю одиночные изображения и средние страницы HTML?

  3. Отчасти не в тему, но какие коды статуса HTTP обычно принимаются как хорошие (в основном, я бы дал свое приложение, чтобы получить тело сайта в кусках, если бы увидел эти коды)? Любой, кроме 200?

Может кто-нибудь порекомендовать достойную книгу (желательно онлайн), которая покрывает информацию этого типа, желательно на языке Python или просто агностике.

Спасибо!

ответ

2
  1. Да, весь ответ может быть ложью. HTTP-сервер должен придерживаться протокола, но вы никогда не можете быть уверены, что вредоносный не отправит вам поврежденные данные.

  2. Правильно, вы должны прервать либо после того, как фактическое содержимое больше, чем объявлено в содержании или превысит определенный порог. Для предельного значения вам нужно поэкспериментировать. Here - некоторые исследования по этому вопросу. Возможно, 5 МБ на веб-страницу будет хорошим началом.

  3. Возможно, вы будете следовать переадресации (301), но кроме этой палки только 200.

Смежные вопросы