Подтвердить что ты не робот

Content-Security-Policy object-src blob

При использовании политики безопасности контента и я пытаюсь выполнить процесс в Chrome 41 (бета) с помощью window.URL.createObjectURL. Я получаю ошибку, например, следующее:

Отказаться от загрузки данных плагина из "blob: http% 3A//localhost% 3A7000/f59612b8-c760-43a4-98cd-fe2a44648393", поскольку он нарушает следующую директиву политики безопасности контента: "object-src blob://*"

С политикой безопасности содержимого, которая ограничивает object-src или иначе default-src, можно воспроизвести проблему (с удобством jQuery) следующим образом:

blob = new Blob(
   ["%PDF-1.\ntrailer<</Root<</Pages<</Kids[<</MediaBox[0 0 3 3]>>]>>>>>>"],
   { type: "application/pdf" })
$("<embed>").attr("src", window.URL.createObjectURL(blob))
  .appendTo(document.body)

Похоже, что спецификация, что это должно работать, как и для data://*. Я также пробовал blob, blob:, blob:*, blob:http*, blob:http:*, blob:http://*, но безрезультатно.

Что работает, но по очевидным причинам нежелательно, это object-src *.

У кого-нибудь был какой-то успех, получающий blobs для загрузки с политикой безопасности контента? Это проблема вверх по течению, или я что-то пропустил?

4b9b3361

Ответ 1

Ответ, соответствующий спецификации, соответствует object-src 'self' blob:

blob: должен явно соответствовать blob: явно, а не 'self' или *. Это ошибка в Chrome и недавно была исправлена ​​в Firefox 40.

Ответ 2

Одним из способов решения проблемы было бы использовать object-src 'self'.

Ответ 3

Для Chrome 47.0.2526.73:

default-src * blob:;

работал у меня