在javascript中通过xhr请求上传到azure blob是否安全

时间:2017-07-19 18:54:50

标签: javascript angular azure azure-storage azure-blob-storage

我实现了一个项目,其中angular2作为前端,Laravel作为后端。 在这个项目中,我通过前端的xhr请求将文件上传到Azure blob。 当Xhr请求触发azure blob存储url显示在控制台的网络选项卡中时,此url包含azure blob的签名。

可以通过Javascript中的XHR实现此功能。任何建议都会帮助我。

1 个答案:

答案 0 :(得分:3)

  

在Javascript中通过XHR实现此功能是否可以。   任何建议都会对我有所帮助。

我认为只要您保持SAS令牌仅在上传文件所需的时间内有效就可以了(猜测上传文件所需的实际时间可能很棘手)。

还有一些其他方法可以让它更安全:

  • 仅在SAS令牌中包含WriteCreate权限。如果您不需要,请不要包含ReadDelete等其他权限。这样,用户只能使用此SAS令牌上传文件,而不执行任何其他操作。
  • 如上所述,请保持SAS令牌有效期限短。
  • 如果可能,仅为用户上传的文件获取SAS令牌。不要为整个blob容器获取SAS令牌。这样,用户只会上传特定文件。
  • 在SAS令牌中包含IP ACL,以便用户无法与其他用户共享SAS URL。 IP ACL将强制仅使用SAS令牌中包含的IP地址来使用SAS URL。