Отслеживание разрешений политики безопасности в 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 - оно более многословно и действительно полезно, чем это.