我正在尝试使用 firebase 存储,查看授权用户可以从 Web 客户端上传文件,我想知道是什么阻止了用户通过调整 javascript 来更改路径。
考虑以下
我想按如下方式组织用户文件。
root : {
users :
uid1 : images {}
: audio {}
-users:
uid2 : images {}
: audio {}
-users:
: uid3 : images {}
: audio {}
}
然后上传一张图片到 /userid/images/
var storage = firebase.storage();
var storageRef = storage.ref();
var imagesRef = storageRef.child(uid_g).child('images').child(path);
问题 :
是什么阻止用户将child('images')更改为child('audio')?
我只是想确保我设置的路径不会在存储上更改。
服务器上的规则我只允许用户读取和写入他们的数据。
// Grants a user access to a node matching their user ID
service firebase.storage {
match /b/<your-firbase-storage-bucket>/o {
// Files look like: "user/<UID>/path/to/file.txt"
match /user/{userId}/{allPaths=**} {
allow read, write: if request.auth.uid == userId;
}
}
}