【问题标题】:Security implications of php upload systemphp上传系统的安全隐患
【发布时间】:2012-07-13 04:33:53
【问题描述】:

我已经做了一个基本的 PHP 文件加载系统,到目前为止我可以上传任何文件类型,我还没有添加任何参数。

但我想知道的是我使用的方法,我应该采取哪些步骤来确保系统安全?是否有其他更安全的做事方式,以及任何可能有助于该系统的指南、提示或建议?

这是我目前的代码:

$upload_to = "img/company_logos/";

if($_POST)
{
    if(!empty($_POST['upload']))
    {
        $upload_to = $upload_to . $_FILES['file']['name'];
        move_uploaded_file($_FILES['file']['tmp_name'], $upload_to);
        echo "Uploaded!";
    }
}

?>

<html>
<body>      
    <form method="post" enctype="multipart/form-data">

        <input type="hidden" id="upload" name="upload" value="1" />
        <input type="file" id="file" name="file" />
        <input type="submit" value="Submit" />

    </form>
</body>
</html>

我看到的主要内容之一是上传目录权限设置为 777,这意味着任何人都可以读取/写入/执行此目录。

感谢您的帮助。

【问题讨论】:

标签: php file-upload file-permissions


【解决方案1】:
  1. 检查推荐人
  2. 限制文件类型
  3. 重命名文件
  4. 更改权限
  5. 登录和审核

http://php.about.com/od/advancedphp/qt/upload_security.htm

看看这个 PHP Upload file enhance security

【讨论】:

  • 1) 推荐人很容易被“欺骗” 2) 确保您不仅检查文件扩展名,而且检查实际文件内容
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 2020-01-27
  • 2010-09-07
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
相关资源
最近更新 更多