【问题标题】:Web application - restrict access to uploaded filesWeb 应用程序 - 限制对上传文件的访问
【发布时间】:2012-12-13 03:54:05
【问题描述】:

我有问题。我正在开发一个网络应用程序,并将为员工上传文件(即:简历、犯罪记录检查等)。这些文件的名称包括时间、员工姓名和文件类型,类似于:John_Doe_Resume_12-12-12-16:36:23.PDF。所以所有的文件都会在一个目录下,所以可以通过在浏览器中输入文件路径直接访问这个文件。

我仍然需要能够从 PHP Web 应用程序中访问这些文件,以便在需要时进行下载。我想到的一种可能的解决方案是将文件信息存储在 mysql 中,但这将是大量工作和额外的服务器负载。

有没有办法限制对目录的访问,以便只有 PHP Web 应用程序可以访问它们? (即:所以人们不能直接输入文件url下载)

【问题讨论】:

    标签: php .htaccess file-upload acl


    【解决方案1】:

    你必须放

    deny from all
    

    在您的 .htaccess 文件中。将此文件放在您无法通过直接 url 访问的目录中。您的 php 脚本将能够进入该目录,因为 .htaccess 正在影响 apache

    在php中你做

    $filename = "yourfilename.pdf";
    $filepath = "./../rel_path_to_restricted_folder/";
    
    
    if(file_exists($filepath . $filename))
    {
        header('Content-disposition: attachment; '. $filename);
        header('Content-type: ' . mime_content_type($filepath . $filename));
        readfile($filepath . $filename);
    }
    else
    {
    
        echo("File not found"); 
    }
    

    瞧;)

    【讨论】:

      猜你喜欢
      • 2016-07-18
      • 1970-01-01
      • 2021-08-15
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      相关资源
      最近更新 更多