要实现用户对上传文件的访问限制,怎么做比较简单?

2013-01-04 11:06:22 +08:00
 revlis7
用户通过页面上传了文件,如何确保只有用户自己才能访问这个文件呢?

之前没有做过上传文件这种功能,所以先想到的做法就是把文件上传至一个只有用户自己知道的目录。但是因为这个地址是固定的,所以一旦被其他人知道了文件地址,那么这个文件就等于是所有人都可以访问的。

后来又想了一个办法,就是用户保存和下载的文件地址分开,每次用户需要访问时,复制存放目录里的文件到下载目录,并生成一个随机的下载目录地址给用户,过了有效期后自动删除。

但是还是感觉有点复杂,首先有文件复制操作,还有过期删除文件操作,我想问问有没有什么更好的做法可以实现呢?比如根据用户登录账号就可以对某些指向文件资源的url限制访问之类的。
2363 次点击
所在节点    问与答
4 条回复
revlis7
2013-01-04 11:13:51 +08:00
或者说前台做权限判断,通过权限验证后,再去read一个文件输出给用户下载,而不是通过直接访问文件本身的方式进行下载?这样是不是更普遍的做法?
arg0
2013-01-04 11:15:17 +08:00
存到web应用目录外,通过程序去读取下载,在程序中控制权限。
revlis7
2013-01-04 11:19:13 +08:00
@arg0 懂了,非常感谢~
SAGAN
2013-01-04 11:23:12 +08:00
用X-Sendfile。程序控制权限,web server发送文件

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

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

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

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

© 2021 V2EX