Является ли угрозой безопасности размещение защищенного носителя рядом с общедоступным c носителем в приложении Django? - PullRequest
0 голосов
/ 17 февраля 2020

Прежде всего, это не дубликат, так как все остальные связанные вопросы устарели и не отвечают на этот конкретный 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?

...