次の Content-Security-Policy HTTP ヘッダーを使用しながら、TinyMCE を使用しようとしています。
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
ただし、指定された CSP ヘッダーを操作するために外部のみを使用するため、実行可能な JS コードはありません。test.xhtml
<script>
への参照about:blank
も同様に無効です。
CSP違反の原因がどこにあるのかを突き止める方法はありますか?
Chrome の内部 JS デバッガーがソースを特定していないようです。
さらに、何らかの理由で、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
、TinyMCE がオンザフライでロードする HTML の一部に属性などを使用することに関するものであることがわかりましたが、どのファイルを探すべきでしょうか? もう 1 つのエラーは、おそらく TinyMCE HTML の一部で、href
値が で始まるものjavascript:
もありますが、これも Chrome からのポインターがないと見つけるのが非常に困難です。セットアップ全体が Firefox 13 で動作します (対応する CSP ヘッダーを使用)。
CSP違反ごとにChromeに例外をスローさせる方法はありますか?