# #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