如何将媒体文件的 URL 限制为 Django 中未经身份验证的用户?

Posted

技术标签:

【中文标题】如何将媒体文件的 URL 限制为 Django 中未经身份验证的用户?【英文标题】:How to make media file's URL restricted to the unauthenticated users in Django? 【发布时间】:2022-01-12 11:44:54 【问题描述】:

我将构建一个 Django 存储应用程序,用户可以在其中将文件上传到服务器。用户还可以从服务器下载他们的文件。为了下载文件,服务器将媒体文件的 URL 返回给用户。我添加了一个权限类,如果用户已通过身份验证并且是文件的所有者,则返回媒体文件的 URL,否则返回 404。但是有一个问题,如果任何未经身份验证的用户从历史记录中找到了媒体文件的 URL浏览器,然后他可以下载/访问该文件。我该如何处理这种情况?

【问题讨论】:

使用简单的视图装饰器 【参考方案1】:

Django 的开发服务器不处理静态/媒体文件 请看看这个django-sendfile

【讨论】:

以上是关于如何将媒体文件的 URL 限制为 Django 中未经身份验证的用户?的主要内容,如果未能解决你的问题,请参考以下文章

如何限制从 django 网站执行的视图功能?

如何在给定 blob url 的情况下将大型音频文件上传到 django 服务器?

如何在Django Admin中将ImageField限制为几个选项

如何在 django 模板中创建文件

Django如何将模板限制为只有两个帖子

如何在 django 中启用 /static/css URL 启用