Прежде всего, это не дубликат, так как все остальные связанные вопросы устарели и не отвечают на этот конкретный c вопрос.
В моем приложении Django 2.2 мне нужно хранить публичные c медиа-файлы, а также личные медиа-файлы. Я исследовал все возможные варианты и пришел к выводу, что простым вариантом может быть использование следующих медиа-URL:
(базовый URL, '/ media /')
Publi c: ' media / publi c 'Private' media / private '
Со следующей Nginx конфигурацией местоположения:
location: media / public Внутренний псевдоним: media / publi c
Местоположение: мультимедиа / частный Внутренний псевдоним: мультимедиа / личный
С шаблоном URL-адреса повторного пути для соответствия 'media / publi c', который вызывает соответствующий просмотр, и шаблоном URL для сопоставления ' media / private '
При следующей конфигурации вида:
def public_view(request):
# view config
# [“x-send-redirect”]
# etc..
pass
@login_required()
def private_view(request):
# view config
# [“x-send-file”]
# etc..
pass
Безопасно ли вышеуказанное? Является ли проблема безопасности как в общедоступных публикациях c, так и в личных СМИ? Не одобряется ли размещение пути типа «media / private» в блоке местоположения в nginx?