我们应该允许用户直接上传到 Google Firebase 存储吗?
Should we allow user upload directly to Google Firebase Storage?
我正在构建一个允许用户通过 Android 应用程序将图片和视频上传到 Google Firebase 存储的应用程序。但是当攻击者试图上传可执行文件或非常大的文件(比如 1 TB)时,我正在考虑一个攻击场景。为了防止这种情况,我想我会让客户端通过 Cloud Function 上传文件(这样我们就可以在保存文件之前验证文件)。但是如果我那样解决问题,那么效率会很低,因为我们需要将整个文件的数据发送到云函数。
那么,我们是否应该允许用户将文件直接上传到存储中。如果是,我们如何防止这种攻击场景(以及类似的场景)
您可以将 Firebase 存储规则配置为仅允许特定大小的文件。
例如,如果您只想允许小于 2MB 的文件,那么您可以这样做:
allow write: if request.resource.size < 2 * 1024 * 1024;
您可以阅读更多相关信息 here。
我正在构建一个允许用户通过 Android 应用程序将图片和视频上传到 Google Firebase 存储的应用程序。但是当攻击者试图上传可执行文件或非常大的文件(比如 1 TB)时,我正在考虑一个攻击场景。为了防止这种情况,我想我会让客户端通过 Cloud Function 上传文件(这样我们就可以在保存文件之前验证文件)。但是如果我那样解决问题,那么效率会很低,因为我们需要将整个文件的数据发送到云函数。
那么,我们是否应该允许用户将文件直接上传到存储中。如果是,我们如何防止这种攻击场景(以及类似的场景)
您可以将 Firebase 存储规则配置为仅允许特定大小的文件。
例如,如果您只想允许小于 2MB 的文件,那么您可以这样做:
allow write: if request.resource.size < 2 * 1024 * 1024;
您可以阅读更多相关信息 here。