我正在开发一个 PoC(概念证明)应用程序,用户可以将壁纸下载到他们的设备上。所有数据均使用 Cloud Firestore & Storage 提供。
此应用程序没有登录名。任何人都可以下载该应用程序,并立即下载她或他想要的壁纸。
牢记这一点...我希望有一个计数器来跟踪每个特定壁纸的下载次数。
虽然我让它“工作” - 我质疑我在 Firebase 中设置的规则..
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read;
allow write: if request.auth != null;
allow update: if request.resource.data.counter is number;
}
}
}
我的思考过程与上述规则:
- 任何人都可以阅读。
- 只有经过身份验证的用户才能写入。(我正在使用无头 CMS 管理所有数据;Flamelink;所以第一个也是唯一一个经过身份验证的用户是我自己。)
- 如果数据是数字,则更新计数器..
这是我要质疑的最后一条规则。
这是部署到生产环境的安全方法吗?
再次——无需登录,用户无需认证即可下载所有壁纸,每张壁纸旁边都会有一个计数器,供用户查看每张壁纸下载了多少次。