代码之家  ›  专栏  ›  技术社区  ›  Gjert

如何使用PHP安全上载和下载存储在文件系统中的PDF文件

  •  0
  • Gjert  · 技术社区  · 9 年前

    我试着四处寻找一些技巧,了解如何在不执行代码的情况下安全地完成这项任务。 如果我简单地将其上传到文件系统,然后在有人下载之前将其保留,代码会被执行吗? 或者这也是一个潜在的威胁?

    我想做的是让用户能够上传pdf格式的简历。然后,管理员可以下载此pdf文件(服务器上未查看,但已下载)。

    我应该如何做到这一点,以防止恶意文件在我的服务器上执行?此外,将此文件夹放在public_html文件夹之外是否有风险?

    2 回复  |  直到 9 年前
        1
  •  0
  •   Amazone    9 年前

    在文件夹中上传.pdf没有太大风险。 文件夹必须为644(chmod)。并有一个索引。带有重定向到网站索引的php 在“public_html”内部或外部……这不是问题

    上传时,您可以检查扩展名(.pdf)并键入mime:

    带finfo_file( http://php.net/manual/en/function.finfo-file.php ) 和 具有 $extension = substr($file, -3);

        2
  •  0
  •   NIck    9 年前

    这取决于服务器的设置方式。如果它允许将PDF文件用作可执行文件,或使用可能用于恶意操作的特定应用程序/处理脚本打开PDF文件。否则,您必须遵循简单的指示,例如限制文件名长度,避免执行该文件的读取操作。据我所知,你只需要上传并保护它们。我会将它们保存在public_html中,并在正确上传后(您检查了文件大小、扩展名等)随时移动它们。