Я занимался некоторыми исследованиями относительно загрузок файлов с помощью контроля доступа, используя Django. Моя цель состоит в том, чтобы полностью заблокировать доступ к файлу, кроме при доступе к определенному пользователю. Я прочитал, что при использовании Django X-SendFile является одним из методов выбора для достижения этого (на основании других вопросов и т. Д.). Мое рудиментарное понимание использования X-SendFile с Django:
- Запросы пользователя URI для получения защищенного файла
- приложение Django решает, какой файл возвращается на основе URL, и проверяет разрешение на пользователя и т. Д.
- Django App возвращает Ответ HTTP с заголовком «X-SENDFILE» настроен на путь к файлу сервера
- , веб-сервер находит файл и возвращает его к запросу (я предполагаю, что веб-сервер для веб-сайта также раздается заголовок «X-SendFile» вдоль Способ)
По сравнению с патронным файлом непосредственно из Django, X-SendFile, вероятно, является более эффективным методом достижения защищенных загрузок (поскольку я могу полагаться на NGINX для обслуживания файлов, VS Django), но оставляет 2 вопроса для меня :
- Является ли мое объяснение X-SendFile, по крайней мере, абстрактно правильное?
- Это действительно безопасно, предполагая, что я не предоставляю нормальный доступ в интернет HTTP (например, http: //www.example. COM / Downloads / Secret-file.jpg ) в каталог, который хранится файл (т. Е. Не хранить его в моем
public_html
каталог)? Или, мог бы использовать Tech-Savvy пользовательские заголовки и т. Д. И обратным инженером, способ получить доступ к файлу (чтобы затем распространять)?
- Это действительно большая разница в производительности. Я собираюсь по болоту моего сервера приложений вниз, предоставляя 8b раскаленные загрузочные файлы 150 МБ непосредственно из Django, или это сортировка неисправности? Причина, по которой я спрашиваю, это потому, что если обе версии около равны, версия Django будет предпочтительнее из-за моей способности делать вещи в Python, например, воспользоваться количеством загрузки загрузки, соответствующую пропускной способности загрузки и т. Д.
.
задан orokusaki 4 September 2011 в 00:25
поделиться