这是一个创建于 4146 天前的主题,其中的信息可能已经有所发展或是发生改变。
用户通过页面上传了文件,如何确保只有用户自己才能访问这个文件呢?
之前没有做过上传文件这种功能,所以先想到的做法就是把文件上传至一个只有用户自己知道的目录。但是因为这个地址是固定的,所以一旦被其他人知道了文件地址,那么这个文件就等于是所有人都可以访问的。
后来又想了一个办法,就是用户保存和下载的文件地址分开,每次用户需要访问时,复制存放目录里的文件到下载目录,并生成一个随机的下载目录地址给用户,过了有效期后自动删除。
但是还是感觉有点复杂,首先有文件复制操作,还有过期删除文件操作,我想问问有没有什么更好的做法可以实现呢?比如根据用户登录账号就可以对某些指向文件资源的url限制访问之类的。
4 条回复 • 1970-01-01 08:00:00 +08:00
|
|
1
revlis7 2013-01-04 11:13:51 +08:00
或者说前台做权限判断,通过权限验证后,再去read一个文件输出给用户下载,而不是通过直接访问文件本身的方式进行下载?这样是不是更普遍的做法?
|
|
|
2
arg0 2013-01-04 11:15:17 +08:00 1
存到web应用目录外,通过程序去读取下载,在程序中控制权限。
|
|
|
3
revlis7 2013-01-04 11:19:13 +08:00
|
|
|
4
SAGAN 2013-01-04 11:23:12 +08:00 1
用X-Sendfile。程序控制权限,web server发送文件
|