防止用户上传恶意文件

时间:2014-08-06 15:34:25

标签: azure storage azure-storage azure-storage-blobs

我的问题是 - 使用Azure存储时,这是为我处理还是我必须确保用户不上传可能危及服务器的内容?

在处理文件和Azure存储时,我应该保护自己什么?

3 个答案:

答案 0 :(得分:1)

一种可能的解决方案,期望您将此功能作为应用程序的一部分: 您可以在Azure Cloud中创建Web API应用程序(或MVC应用程序)。这样你就会:

  • 控制用户可以上传的文件和扩展程序。描述here
  • 能够扫描用户上传文件的病毒。描述here
  • 控制上传过程。您也可以从流重定向。描述here。查看“将文件另存为流”。这样浏览WEB API应用程序将充当安全中继。
  • 应用程序和blob之间连接的好处 - 如果它们位于同一区域,它将非常快。他们很可能彼此非常接近。

答案 1 :(得分:0)

据我所知,如果不通过用户代码阻止不想要的文件,Azure Blob存储没有内置的方法来防止上传不需要的文件。使用Blob存储需要主要访问密钥才能上传文件,因此将文件存入存储的唯一方法是通过您公开的API [网站/应用程序]。在允许用户进入之前,您需要在那里进行文件类型验证。使用此功能,您可以创建有效一段时间的SharedAccessSignatures,允许从应用程序或通过Web加载的文件加载到存储帐户中以进行文件加载与CORS

答案 2 :(得分:0)

正如jigear的回答中所提到的,上传新blob需要具有写访问权限的帐户密钥或共享访问签名。 Azure存储不知道此blob是否包含php文件,因为Azure存储服务不查看blob内容。您的网站如何使用这些blob完全由您的网站控制。