php上传系统的安全隐患

时间:2012-07-13 10:19:27

标签: php file-upload file-permissions

我已经制作了一个基本的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 个答案:

答案 0 :(得分:2)

  1. 检查推荐人
  2. 限制文件类型
  3. 重命名文件
  4. 更改权限
  5. 登录并适度
  6. http://php.about.com/od/advancedphp/qt/upload_security.htm

    看到这一个 PHP Upload file enhance security