firebaseのstorageで拡張子とかファイルサイズを制限したい場合

投稿者:

ruleでやろう

もちろんアップロード側の事前バリデーションも必要ですが、リスクを考えるとruleでも弾いておきましょう

https://firebase.google.com/docs/storage/security#data_validation

↓公式のサンプルコードがそのまま使えまス

service firebase.storage {
  match /b/{bucket}/o {
    match /images/{imageId} {
      // Only allow uploads of any image file that's less than 5MB
      allow write: if request.resource.size < 5 * 1024 * 1024 // サイズ制限
                   && request.resource.contentType.matches('image/.*'); // contentType制限!
    }
  }
}

アップロード側のエラーハンドリング

https://firebase.google.com/docs/storage/web/upload-files?hl=ja#error_handling

ruleで弾かれた場合storage/unauthorizedになるはずです

https://firebase.google.com/docs/storage/web/handle-errors#handle_error_messages