2017-07-19 57 views
2

Iam以angular2作为前端,Laravel作为后端实现项目。 在这个项目中,我通过前端的xhr请求将文件上传到Azure blob。 当Xhr请求触发时,控制台的网络选项卡中将显示天蓝色blob存储url,并且此url包含azure blob的签名。通过javascript中的xhr请求上传到azure blob安全吗

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

回答

3

可以通过JavaScript中的XHR实现此功能。任何suggstions会帮助我很多。

我认为这很好,只要你保持SAS令牌只在需要上载文件的时间内有效(猜测上传文件的实际时间可能是棘手的) 。

还有一些其他的事情可以做,使之更加安全:

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

谢谢@Gaurav Mantri。感谢您的答复。我从你的关于azure blob存储的文章中获得灵感,来自你的链接 gauravmantri.com/2013/02/16/uploading-large-files-in-windows-azure-blob-storage-using-shared-access-signature -html-and-javascript/ 我正在试图在角度2类型脚本结束时生成签名,并使用短持续时间范围。 –