Я пытаюсь использовать TinyMCE при использовании следующего HTTP-заголовка Content-Security-Policy:
X-WebKit-CSP: default-src 'self'; script-src 'self' 'unsafe-eval'; img-src *; media-src *; frame-src *; font-src *; style-src 'self' 'unsafe-inline'; report-uri /:reportcspviolation
Я получаю следующие ошибки в Инструменты - Консоль JavaScript:
Refused to execute JavaScript URL because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval'".
about:blank:1
Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval'".
test.xhtml:1
Refused to execute JavaScript URL because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval'".
about:blank:1
Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval'".
test.xhtml:1
Однако в test.xhtml
нет исполняемого кода test.xhtml
поскольку он использует только внешний <script>
для работы с заданным заголовком CSP. Ссылка на about:blank
также недействительна.
Любые идеи, как выяснить, где причина нарушения CSP?
Похоже, что внутренний JS-отладчик Chrome не определяет источник.
Кроме того, по какой-то причине Chrome отображает отчеты о нарушениях CSP как "Ожидание" в разделе "Инструменты" - "Инструменты разработчика" - "Сеть", но проверка данных для отправки не дает никакой дополнительной информации. Пример:
{"csp-report":{"document-uri":"about:blank","referrer":"url-of/test.xhtml","violated-directive":"script-src 'self' 'unsafe-eval'","original-policy":"default-src 'self'; script-src 'self' 'unsafe-eval'; img-src *; media-src *; frame-src *; font-src *; style-src 'self' 'unsafe-inline'; report-uri /:reportcspviolation"}}
Я могу выяснить, что сообщения об ошибках касаются, например, использования атрибута onclick
в некотором фрагменте HTML, который TinyMCE загружает на лету, но какой файл искать? Другая ошибка - это, вероятно, фрагмент HTML-кода TinyMCE, в котором некоторый href
имеет значение, начинающееся с javascript:
но это тоже действительно трудно найти без каких-либо указателей из Chrome. Вся настройка работает с Firefox 13 (используя соответствующий заголовок CSP).
Есть ли способ заставить Chrome генерировать исключение для каждого нарушения CSP?