【发布时间】: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,这意味着任何人都可以读取/写入/执行此目录。
感谢您的帮助。
【问题讨论】:
-
这概述了任何上传机制可能存在的漏洞:owasp.org/index.php/Unrestricted_File_Upload
标签: php file-upload file-permissions