revlis7
V2EX  ›  问与答

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

  •  
  •   revlis7 · Jan 4, 2013 · 3076 views
    This topic created in 4982 days ago, the information mentioned may be changed or developed.
    用户通过页面上传了文件,如何确保只有用户自己才能访问这个文件呢?

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

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

    但是还是感觉有点复杂,首先有文件复制操作,还有过期删除文件操作,我想问问有没有什么更好的做法可以实现呢?比如根据用户登录账号就可以对某些指向文件资源的url限制访问之类的。
    4 replies    1970-01-01 08:00:00 +08:00
    revlis7
        1
    revlis7  
    OP
       Jan 4, 2013
    或者说前台做权限判断,通过权限验证后,再去read一个文件输出给用户下载,而不是通过直接访问文件本身的方式进行下载?这样是不是更普遍的做法?
    arg0
        2
    arg0  
       Jan 4, 2013   ❤️ 1
    存到web应用目录外,通过程序去读取下载,在程序中控制权限。
    revlis7
        3
    revlis7  
    OP
       Jan 4, 2013
    @arg0 懂了,非常感谢~
    SAGAN
        4
    SAGAN  
       Jan 4, 2013   ❤️ 1
    用X-Sendfile。程序控制权限,web server发送文件
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3172 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:15 · PVG 20:15 · LAX 05:15 · JFK 08:15
    ♥ Do have faith in what you're doing.