php上传系统的安全隐患


Security implications of php upload system

我已经制作了一个外观基本的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,这意味着任何人都可以读取/写入/执行这个目录

谢谢你的帮助。

  1. 查看推荐人
  2. 限制文件类型
  3. 重命名文件
  4. 更改权限
  5. 登录和适度

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

看看这个PHP上传文件增强的安全性