【问题标题】:Most Secure Way to Store Uploaded Files存储上传文件的最安全方式
【发布时间】:2012-06-14 02:06:46
【问题描述】:

我将上传的文件存储在 web 目录中:

//src/Acme/CocoBundle/Entity/CocoFromTheNorth.php
/**
 * @ORM\Column(type="string", length=255, nullable=true)
 */
public $path;

protected function getUploadRootDir()
{
    return __DIR__.'/../../../../web/'.$this->getUploadDir();
}

protected function getUploadDir()
{

    return 'uploads/documents';
}

这是一个好习惯吗?把上传的文件放在web目录之外不是更好吗,这样用户就不能直接访问了?

我是否认为最好的方法是将上传的文件存储在网络根目录之外?那么哪里才是最好的呢? 或者如何配置 Web 服务器以拒绝访问上传目录?

【问题讨论】:

    标签: symfony


    【解决方案1】:

    在您使用 PHP 建立访问权限后,最好将上传的文件保存在 Web 目录之外,并使用 X-SendFile 提供这些文件。

    我在这里概述了类似的内容:How to securely store files on a server

    在这里:Caching HTTP responses when they are dynamically created by PHP

    【讨论】:

      猜你喜欢
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多