Доступ к URL-адресу хранилища Firebase только на моем веб-сайте, размещенном на Firebase

# #javascript #firebase #firebase-storage #firebase-security

Вопрос:

Мне нужно получить доступ к изображению в моем хранилище Firebase, не раскрывая URL-адрес или доступ только на моем веб-сайте.

Проблема в том, что изображение является фоном моего веб-сайта, и я не могу использовать аутентификацию для его защиты.

Я не могу позволить себе, чтобы кто-то постоянно обращался ко мне и в итоге выставлял мне счет.

Я пробовал gsReference , но при получении изображения он использует gsReference.getDownloadURL() и помещает его в файл CSS, и если я проверю и скопирую URL-адрес на другой вкладке, он сможет прочитать изображение.

Комментарии:

1. я использую хостинг firebase для размещения своего веб-сайта, если есть какой-либо способ просто ссылаться на него локально, как в HTML, это было бы здорово

2. Если изображение является фоном вашего веб-сайта, есть ли причина, по которой вы не можете развернуть его на своем веб-сайте?

3. @samthecodingman не выставляет счет за хранение firebase, если вы превышаете лимит на чтение файлов?

4. Если вы превысите лимиты плана Spark, любые запросы будут просто отклонены на основании этой записи в часто задаваемых вопросах. Вам не следует выставлять счет, но в зависимости от конкретного случая они могут взимать с вас плату, если вы сделаете слишком много заблокированных запросов. Я никогда не превышал лимит квоты в плане Spark (к тому времени, когда я достигаю лимитов бесплатного уровня, я уже перешел на платный план Blaze), поэтому я не уверен, какова фактическая возвращенная ошибка. Я бы предположил, что вы получите HTTP 429 Too Many Requests ответ.

Ответ №1:

Если вы создадите URL-адрес для загрузки файла в облачном хранилище, он будет доступен любому пользователю с этим URL-адресом из любой точки Интернета.

Если вам нужно контролировать доступ к файлу в облачном хранилище, не используйте URL-адреса для загрузки. Вместо этого используйте проверку подлинности Firebase вместе с облачным хранилищем для Firebase SDK для загрузки файлов, защищенных правилами безопасности, которые разрешают доступ для данного пользователя, вошедшего в систему. Это единственный способ ограничить загрузку.

Комментарии:

1. но вам нужно пройти аутентификацию, чтобы получить доступ к файлам, верно? проблема в том, что это фоновое изображение моего сайта, и оно не загружается

2. да, я использовал анонимный логин для посетителей и поставил чтение/запись, если auth != null