firebase
构建安全的 Firebase 应用
Firebase 简化了后端开发,但安全规则和数据建模需要专业知识以避免安全漏洞和成本超支。此技能提供 Firebase 最佳实践的专业指导。
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "firebase". 为 'tasks' 集合生成安全规则,团队成员可以读取所有任务但只能编辑自己的任务
النتيجة المتوقعة:
rules version 2;
service cloud.firestore {
match /databases/{database}/documents {
match /tasks/{taskId} {
allow read: if request.auth != null;
allow write: if request.auth.uid == resource.data.ownerId;
}
}
}
استخدام "firebase". 如何在 Firestore 中为包含聊天室和消息的聊天应用建模?
النتيجة المتوقعة:
推荐结构:
- rooms/{roomId}: { name, createdAt, memberIds[] }
- rooms/{roomId}/messages/{messageId}: { text, senderId, sentAt }
关键决策:
1. 消息使用子集合可保持聊天室文档较小
2. 去规范化 memberIds 以便权限检查
3. 使用 sentAt 进行排序,而不是使用文档 ID
التدقيق الأمني
آمنStatic analysis flagged external_commands and weak_crypto patterns, but manual review confirms these are false positives. The backtick syntax on line 57 is markdown code formatting, not shell execution. The cryptographic algorithm flags on lines 3, 15, 39, 45, 60 are triggered by generic words like 'security' and 'design', not actual weak crypto usage. This is a legitimate Firebase development skill with no security issues.
مشكلات متوسطة المخاطر (2)
درجة الجودة
ماذا يمكنك بناءه
保护新的 Firestore 数据库
为具有适当读写权限的用户数据集合生成生产就绪的安全规则
构建社交应用数据模型
为包含帖子、评论和点赞的社交信息流设计 Firestore 集合和查询
设置本地开发环境
配置 Firebase Emulators 以测试 Auth、Firestore 和 Functions,无需部署到生产环境
جرّب هذه الموجهات
为名为 'users' 的集合生成 Firestore 安全规则,用户只能读取和写入自己的文档
为包含帖子、评论和点赞的博客设计 Firestore 数据模型。展示集合结构和示例文档
编写一个 Firebase Cloud Function,当 Authentication 中创建新用户时触发,并在 Firestore 中创建默认个人资料文档
审查此 Firestore 查询模式并建议优化以减少读取成本:collection('posts').where('author', '==', userId).get()أفضل الممارسات
- 始终围绕查询模式而不是关系来设计数据模型
- 在将任何集合部署到生产环境之前先编写安全规则
- 在所有开发和 CI 测试中使用 Firebase Emulators
تجنب
- 跳过安全规则,仅依赖客户端验证
- 像关系数据库一样对 Firestore 建模并进行深层嵌套
- 在没有分页或限制的情况下将整个集合附加到监听器