security(storage): strictly restrict delete to photo author or verified firestore admin
This commit is contained in:
+7
-2
@@ -12,8 +12,13 @@ service firebase.storage {
|
|||||||
&& request.resource.size < 10 * 1024 * 1024
|
&& request.resource.size < 10 * 1024 * 1024
|
||||||
&& request.resource.contentType.matches('image/.*');
|
&& request.resource.contentType.matches('image/.*');
|
||||||
|
|
||||||
// Fotos löschen beim Entfernen eines Beitrags (durch Verfasser oder Admin)
|
// Löschen streng gesichert: Nur der eigene Verfasser ODER ein Admin aus der Admins-Sammlung
|
||||||
allow delete: if request.auth != null;
|
allow delete: if request.auth != null && (
|
||||||
|
request.auth.uid == userId ||
|
||||||
|
request.auth.token.admin == true ||
|
||||||
|
firestore.exists(/databases/(default)/documents/Admins/$(request.auth.uid)) ||
|
||||||
|
(request.auth.token.email != null && firestore.exists(/databases/(default)/documents/Admins/$(request.auth.token.email)))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user