Тайна кэшированного содержимого-политики безопасности-призрака, отклоняющего содержимое, пока отсутствует - PullRequest
0 голосов
/ 08 апреля 2019

Политика безопасности контента была недавно реализована в нашем программном обеспечении, хотя, поскольку она немедленно мешала работе некоторых клиентских веб-сайтов, мы удалили ее (очевидно, запутав):

header('Content-Security-Policy: [...]');

После удаления заголовка и использования Waterfox 56 (Firefox 65 и Chrome 72 немедленно начинают работать; Waterfox 56 имеет новый профиль) в консоли появляются следующие ошибки, независимо от того, что абсолютно ни один запрос не имеет Content-Security-Policy установлен!

  • Политика безопасности контента: не удалось проанализировать недопустимый хост 'report-sample' (неизвестно)
  • Политика безопасности содержимого: игнорирование «unsafe-inline» внутри script-src или style-src: указан nonce-source или hash-source (неизвестно)
  • Политика безопасности содержимого. Этот сайт (https://[. ..] ) имеет политику только для отчетов без URI отчета. CSP не будет блокировать и не может сообщать о нарушениях этой политики. (Неизвестно)
  • Политика безопасности контента: в настройках страницы наблюдалась загрузка ресурса в blob: [...]. Отчет CSP отправляется. (Неизвестно)
  • Политика безопасности контента: игнорирование «unsafe-inline» в скрипте-src: «строго-динамический» указан (неизвестно)
  • Политика безопасности содержимого: игнорируется «https:» в script-src: «строгая-динамическая» (неизвестно)
  • Политика безопасности содержимого: Игнорируется «http:» в script-src: строгий-динамический

Процесс устранения:

  • Кэш отключен в Waterfox 56, проблема все еще возникает.
  • Firefox 65 и Chrome 72 сразу начинают работать, когда заголовок отключен на нашем сервере.
  • Совершенно проверено, что наш сервер не отвечает заголовком даже для разных файлов.
  • Отклоненные ресурсы взяты из Google Calendar API, они имеют набор заголовков, хотя одинаковые запросы в разных браузерах дают разные результаты, поэтому мы считаем, что проблема в Waterfox.

Я предполагаю, что заголовок как-то кешируется ... что смешно, поскольку у нас всегда кеш отключен для целей разработки, если мы явно не работаем с кешем. Единственным другим известным потенциальным фактором является то, что запросы связаны с API Календаря Google и заголовками ответов. Существует один запрос с установленным заголовком content-security-policy script-src 'nonce-SHP3iUMj779E…self';report-uri /o/cspreport: https://accounts.google.com/o/oauth2/iframe. Однако, как это повлияет на наш веб-сайт клиента , где отображается контент?


Был создан новый профиль для Waterfox, и запрос с этим новым профилем, который сделал , сработал. Ниже приведена единственная ошибка, которая присутствует только в «глючном» профиле Waterfox:

Политика безопасности контента: в настройках страницы наблюдалась загрузка ресурс в блоб: https://content.googleapis.com/4bafd6e0-ea6f-43b2-9b43-690cbcd6b691 («Script-src 'nonce-dxS2ZXb0sYV7IpK + nhCm6w' 'unsafe-inline'»). CSP отчет отправляется. (Неизвестно)

Обфусцированный URL, где установлен CSP:

https://accounts.google.com/o/oauth2/iframe#origin=https://www.example.com&rpcToken=123.456

CSP этого URL:

script-src 'nonce-tdC4gM1 / O5jBKPO3TfdC9w' 'unsafe-inline' 'строгий-динамический' https: http: 'unsafe-eval'; object-src 'none'; base-uri 'self'; report-uri / о / cspreport

Почему Google вызывает эту ошибку просто для этого экземпляра Waterfox? Я удалил все файлы cookie, хранилище и т. Д. Я буду продолжать пытаться сузить, какой файл профиля вызывает проблему.


Файл prefs.js профиля Waterfox - это исходный файл, который при копировании в каталог нового профиля портит запрос. Я собираюсь восстановить файл по частям так же, как я скопировал, протестировал и повторил, и, к счастью, это не двоичный файл.

1 Ответ

0 голосов
/ 08 апреля 2019

Следующий файл и строка сломали API Календаря Google и вызвали контентную Политику безопасности для выдачи ошибки, достаточной для сбоя запроса:

Файл: AppData\Roaming\Waterfox\Profiles\56.0\prefs.js:

user_pref("network.cookie.cookieBehavior", 1);

The *Настройка 1007 * описывается как , как обрабатываются сторонние файлы cookie .Панель инструментов веб-разработчика Криса Педерика (XUL) установлена, и сторонние файлы cookie были отключены в меню «Файлы cookie».Включение / отключение их исправило / рецидивировало проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...