V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
revlis7
V2EX  ›  问与答

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

  •  
  •   revlis7 · 2013-01-04 11:06:22 +08:00 · 2361 次点击
    这是一个创建于 4146 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用户通过页面上传了文件,如何确保只有用户自己才能访问这个文件呢?

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

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

    但是还是感觉有点复杂,首先有文件复制操作,还有过期删除文件操作,我想问问有没有什么更好的做法可以实现呢?比如根据用户登录账号就可以对某些指向文件资源的url限制访问之类的。
    4 条回复    1970-01-01 08:00:00 +08:00
    revlis7
        1
    revlis7  
    OP
       2013-01-04 11:13:51 +08:00
    或者说前台做权限判断,通过权限验证后,再去read一个文件输出给用户下载,而不是通过直接访问文件本身的方式进行下载?这样是不是更普遍的做法?
    arg0
        2
    arg0  
       2013-01-04 11:15:17 +08:00   ❤️ 1
    存到web应用目录外,通过程序去读取下载,在程序中控制权限。
    revlis7
        3
    revlis7  
    OP
       2013-01-04 11:19:13 +08:00
    @arg0 懂了,非常感谢~
    SAGAN
        4
    SAGAN  
       2013-01-04 11:23:12 +08:00   ❤️ 1
    用X-Sendfile。程序控制权限,web server发送文件
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6306 人在线   最高记录 6547   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:29 · PVG 10:29 · LAX 19:29 · JFK 22:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.