这是创建ajax上传表单的安全方法吗?

时间:2011-08-28 04:04:43

标签: php jquery linux upload

我在网上找到了这个链接,

http://www.ultramegatech.com/blog/2010/10/create-an-upload-progress-bar-with-php-and-jquery/

安装这个php小部件/插件然后使用它是否安全?

也许某人对文件上传系统有另一个建议?

我有一个带有标题,描述和图像输入的表单。提交后,应上传显示上传过程的图像,然后在成功上传后将数据输入MySQL表。

在Mac上,您可以将文件拖放到文件输入中,因此我希望保持原始外观。

2 个答案:

答案 0 :(得分:4)

当然是安全的。

重要的部分不是上传者的“界面”,它可以是Ajax,RAW HTML或您可能使用的任何客户端;它是PHP处理脚本,它将接收上传的文件并对其进行处理。

您可能需要在'upload.php'处理程序中考虑的事项:

  • 检查文件大小
  • 检查文件扩展名
  • 检查文件是否重复
  • 检查正确的权限,以便服务器可以写/读它
  • 检查用户是否滥用上传系统(cookie)
  • 等。
  • 毕竟,保存它以满足进一步的需求;)
祝你好运。

答案 1 :(得分:3)

以下是upload.php脚本的源代码:

    <?php
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
    $path = './uploads/' . basename($_FILES['file']['name']);
    move_uploaded_file($_FILES['file']['tmp_name'], $path);
}

如您所见,它没有进行任何类型的检查。如果您上传任何PHP shell脚本,它将上传它没有任何问题。所以这不安全。以下链接可以为您提供帮助:PHP image upload security check list