Защита статического контента в Интернете
Вопрос
Как бы я разрешил пользователям, прошедшим проверку подлинности с помощью кода Python, только доступ к определенным файлам на сервере?
Например, скажем, у меня есть /static/book.txt
который я хочу защитить.Когда пользователь обращается к /some/path/that/validates/him
, скрипт на Python считает его достойным доступа /static/book.txt
и перенаправляет его на этот путь.
Как бы я остановил пользователей, которые обходят скрипт и получают прямой доступ /static/book.txt
?
Решение
Lighttpd имеет mod_secdownload мод_секундная загрузка для этого.По сути, он не будет обслуживать статический контент напрямую, если вы не сгенерируете для него недолговечный статический URL.
Обратите внимание, что вы можете делать аналогичные вещи на S3 для статического содержимого.Это довольно полезная функция.
Другие советы
Возможно, вы захотите, чтобы ваш скрипт Python просто открыл файл и вывел содержимое в качестве выходных данных, если пользователь прошел надлежащую аутентификацию.Поместите файлы, которые вы хотите защитить, в папку, которая находится за пределами корневого каталога веб-сервера.