xrd*_*xrd 2 javascript firebase firebase-security firebase-authentication firebase-storage
我正在学习有关Web应用程序中Firebase身份验证和存储的信息。我的想法是要求用户通过Firebase登录,然后上传图片。
我可以从Firebase身份验证和存储中看到这一点。但是,我想限制它们可以上传的文件数和文件大小。
是否可以在Firebase控制台(或其他位置)中控制上传?看完JavaScript示例之后,我了解了如何放入文件,并且可以想象编写代码来查询Firebase以获取用户的上传数量,然后限制客户端,但是,这当然是一种完全不安全的方法。
如果我将其作为单个页面应用程序托管在GitHub页面上,那么我想知道是否可以在不涉及服务器的情况下设置这些限制。或者,我是否需要通过服务器代理我的上传,以确保我绝不允许用户上传超出我期望的上传数量?
您可以通过Firebase Storage的安全规则限制用户可以上传的内容。
例如,这(来自链接的文档)是一种限制上传文件大小的方法:
service firebase.storage {
match /b/<your-firebase-storage-bucket>/o {
match /images/{imageId} {
// Only allow uploads of any image file that's less than 5MB
allow write: if request.resource.size < 5 * 1024 * 1024
&& request.resource.contentType.matches('image/.*');
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,目前这些规则中还没有办法限制用户可以上传的文件数量。
我想到的一种方法是为此使用固定文件名。例如,如果将允许的文件名限制为1..5,则用户只能存储五个文件:
match /public/{userId}/{imageId} {
allow write: if imageId.matches("[1-5]\.txt");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
860 次 |
| 最近记录: |