Cross Origin не работает - Google Cloud - PullRequest
0 голосов
/ 09 февраля 2019

У меня проблема, и я искал информацию часами.Я хочу заблокировать доступ к объектам в моем ведре, которые можно просматривать только с моего веб-сайта, для этого я настроил Cross Origin в соответствии с документацией облачного хранилища Google.

У меня есть этот URL: https://storage.googleapis.com/cros-test/480_intro%20v2_2.mp4,, который имеет право быть публичным, тот же URL, я хочу, чтобы он был виден только с моего веб-сайта example.com

[
    {
      "origin": ["https://example.com"],
      "responseHeader": ["*"],
      "method": ["GET", "HEAD", "DELETE"],
      "maxAgeSeconds": 3600
    }
]

Но он не работает для меня, он по-прежнему виден всем

1 Ответ

0 голосов
/ 09 февраля 2019

Быстрый ответ заключается в том, что CORS не предоставляет авторизацию в Google Cloud Storage (GCS).Другими словами, вы не можете защитить корзины и объекты GCS с помощью CORS.

CORS - это политика безопасности, применяемая браузером в браузере.CORS расшифровывается как обмен ресурсами между источниками.Целью CORS является информирование браузера, если ресурсы на сайте B могут быть загружены / доступны с сайта A. Цель CORS - защитить конечного пользователя, а не защитить ваш контент.

Если пользовательнапрямую обращается к вашему URL (помещая URL в адресную строку), тогда перекрестного происхождения не происходит.Ваше ведро является источником.

Где CORS начнет действовать, если кто-то другой использует URL вашего объекта на своих страницах веб-сайта для загрузки объектов.Однако в браузере CORS является добровольным, что означает, что существуют инструменты, которые игнорируют политику CORS (например, curl).Обычно браузер добавляет заголовок Origin к запросу, который затем анализирует GCS.Это может быть подделано, подделано или просто не указано.

Например, часто пропускаемая проблема с GCS CORS:

Примечание. Конфигурация CORS влияет только на запросы к конечным точкам XML API.Конечные точки JSON API разрешают запросы CORS независимо от настроек CORS в целевом сегменте.Запросы к конечной точке storage.cloud.google.com не разрешают запросы CORS.

storage.googleapis.com / your-bucket not не будут иметь заголовков

your-bucket.storage.googleapis.com ⬅ будет иметь заголовки cors

Этот документ Google поможет объяснить, как CORS работает с GCS.

...