flask 文件下载权限管理

2015-06-11 16:34:01 +08:00
 loading
目前在用 flask 写一个文件管理系统,涉及到文件的权限问题。

能配合nginx吗?还是要 flask直接返回文件流?
3776 次点击
所在节点    问与答
4 条回复
leojoy710
2015-06-11 16:40:32 +08:00
严格的权限控制的话 就程序返回

不严格的 可以nginx做front 程序通过权限验证之后给个302什么的到对应的nginx的url
不过这样的话 用户知道url了之后就能一直下载了...
undeflife
2015-06-11 16:49:39 +08:00
程序处理权限然后 X-Accel-Redirect 交给nginx处理
loading
2015-06-11 17:11:50 +08:00
@undeflife 这个似乎也没和当前会话有绑定,似乎也不太安全?
undeflife
2015-06-11 17:28:46 +08:00
@loading

response.headers['X-Accel-Redirect'] = real_download_url
response.headers['Content-Type'] = "application/octet-stream"
response.headers['Content-Disposition'] = "attachment; filename=aaa.zip"

你真实的下载地址不管是直接访问磁盘文件还是云存储的下载url 这个是不会暴露给用户的.用户看到的还是请求到你flask的那个url 而且你同样可以使用Set-Cookie等,所以我想不到你指的不太安全是指得什么场景?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/197801

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX