Отслеживание разрешений политики безопасности в JavaScript

Несмотря на то, что установлены следующие заголовки:

Access-Control-Allow-Origin: *
Content-Security-Policy: default-src 'self' 'unsafe-inline' *.speech.is http://bits.speech.is https://bits.speech.is http://speech.is

JavaScript все еще блокирует мне доступ к iframe.contentWindow.document:

Error: Permission denied to access property 'document'

Из консоли Firefox после speech.contentWindow.document в http://bits.speech.is, Chrome дает более подробный, но все же загадочный:

SecurityError: Blocked a frame with origin "http://bits.speech.is" from accessing a frame with origin "http://208.113.212.187". Protocols, domains, and ports must match.
code: 18
message: "Blocked a frame with origin "http://bits.speech.is" from accessing a frame with origin "http://208.113.212.187". Protocols, domains, and ports must match."
name: "SecurityError"
stack: "Error: Blocked a frame with origin "http://bits.speech.is" from accessing a frame with origin "http://208.113.212.187". Protocols, domains, and ports must match.↵    at <anonymous>:2:21↵    at Object.InjectedScript._evaluateOn (<anonymous>:580:39)↵    at Object.InjectedScript._evaluateAndWrap (<anonymous>:539:52)↵    at Object.InjectedScript.evaluate (<anonymous>:458:21)"

Есть ли способ отследить, где устанавливается эта политика безопасности? Как понять, что еще мне не хватает?

1 ответ

Решение

Лучший метод, который я смог найти для тонкой настройки CSP, был комбинацией этих двух:

  • глядя на консоль браузера
  • Настройка CSP для отправки отчетов CSP, поскольку они иногда содержат больше деталей, может утешать сообщения

Для последнего вам нужно добавить report-uri к вашему заголовку CSP, и я использую http://cspbuilder.info/ уникальные URL-адреса в качестве сборщиков отчетов. Вы также можете установить Content-Security-Policy-Report-Only Вариант пока не начнет работать.

Это также поможет, если вы напишите, какой браузер вы используете. Это сообщение не похоже на ошибку нарушения CSP от Chrome - оно более многословно и действительно полезно, чем это.

Другие вопросы по тегам