🔥

firebase

آمن

Crear aplicaciones Firebase seguras

Firebase simplifica el desarrollo de backend, pero las reglas de seguridad y el modelado de datos requieren experiencia para evitar brechas y sobrecostos. Esta habilidad proporciona orientación experta sobre las mejores prácticas de Firebase.

يدعم: Claude Codex Code(CC)
🥉 73 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "firebase". Generate security rules for a 'tasks' collection where team members can read all tasks but only edit their own

النتيجة المتوقعة:

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". How should I model a chat application with rooms and messages in Firestore?

النتيجة المتوقعة:

Recommended structure:
- rooms/{roomId}: { name, createdAt, memberIds[] }
- rooms/{roomId}/messages/{messageId}: { text, senderId, sentAt }

Key decisions:
1. Subcollection for messages keeps room documents small
2. Denormalize memberIds for permission checks
3. Use sentAt for ordering, not document IDs

التدقيق الأمني

آمن
v1 • 2/25/2026

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.

1
الملفات التي تم فحصها
61
الأسطر التي تم تحليلها
2
النتائج
1
إجمالي عمليات التدقيق
مشكلات متوسطة المخاطر (2)
False Positive: Shell Command Detection
Static scanner detected backtick syntax at SKILL.md:57 as Ruby/shell command execution. Manual review confirms these are markdown inline code formatting backticks (`nextjs-app-router`), not command execution.
False Positive: Weak Cryptographic Algorithm
Static scanner flagged 'weak cryptographic algorithm' at multiple lines. Manual review shows these are false positives triggered by generic words like 'security', 'design', and 'Firebase' - no actual cryptographic algorithms are present.
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
50
المجتمع
95
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

Proteger una nueva base de datos Firestore

Generar reglas de seguridad listas para producción para una colección de datos propiedad del usuario con permisos de lectura/escritura adecuados

Modelar datos de una aplicación social

Diseñar colecciones y consultas de Firestore para un feed social con publicaciones, comentarios y me gusta

Configurar desarrollo local

Configurar Firebase Emulators para probar Auth, Firestore y Functions sin desplegar a producción

جرّب هذه الموجهات

Reglas de seguridad básicas
Generar reglas de seguridad de Firestore para una colección llamada 'users' donde los usuarios solo pueden leer y escribir sus propios documentos
Diseño de modelo de datos
Diseñar un modelo de datos de Firestore para un blog con publicaciones, comentarios y me gusta. Mostrar la estructura de colecciones y documentos de ejemplo
Configuración de Cloud Function
Escribir una Firebase Cloud Function que se dispare cuando se crea un nuevo usuario en Authentication y cree un documento de perfil predeterminado en Firestore
Optimización de costos
Revisar este patrón de consulta de Firestore y sugerir optimizaciones para reducir costos de lectura: collection('posts').where('author', '==', userId).get()

أفضل الممارسات

  • Siempre diseñar modelos de datos alrededor de patrones de consulta, no de relaciones
  • Escribir reglas de seguridad antes de desplegar cualquier colección a producción
  • Usar Firebase Emulators para todo el desarrollo y pruebas de CI

تجنب

  • Omitir reglas de seguridad y depender solo de validación del lado del cliente
  • Modelar Firestore como una base de datos relacional con anidamiento profundo
  • Adjuntar listeners a colecciones completas sin paginación ni límites

الأسئلة المتكررة

¿Cuál es la diferencia entre Firestore y Realtime Database?
Firestore es más nuevo con mejor consulta y escalabilidad. Realtime Database es más rápido para escenarios de sincronización simples. Elige Firestore para la mayoría de proyectos nuevos.
¿Cómo protejo las funciones de Firebase?
Usa Firebase Authentication para verificar a los llamadores. Valida todos los datos de entrada. Evita exponer credenciales de cuenta de servicio. Despliega con flag --public solo cuando sea necesario.
¿Puedo usar Firebase con mi propio backend?
Sí, usa Firebase Admin SDK en tu servidor para omitir reglas de seguridad para operaciones confiadas mientras mantienes reglas del lado del cliente para usuarios.
¿Cómo prevengo costos excesivos con Firestore?
Agrega límites a las consultas, usa índices compuestos sabiamente, configura alertas de facturación y monitorea el panel de uso regularmente.
¿Qué son Firebase Emulators?
Servidores de desarrollo local que simulan Firestore, Auth, Cloud Functions y otros servicios. Úsalos para probar sin incurrir en costos o afectar producción.
¿Cómo manejo roles de usuario en Firebase?
Almacena roles en documentos de usuario de Firestore o usa custom claims en el token ID. Verifica roles tanto en reglas de seguridad del cliente como en Cloud Functions.

تفاصيل المطور

المؤلف

sickn33

الترخيص

MIT

مرجع

main

بنية الملفات

📄 SKILL.md