ejs
1<script src="https://ajax.googleapis.com/ajax/libs/d3js/5.15.1/d3.min.js"></script> 2 3<img src="https://image.tmdb.org + <%= movie.poster_path %>" />
error
1Refused to load the script 'https://ajax.googleapis.com/ajax/libs/d3js/5.15.1/d3.min.js' because it violates the following Content Security Policy directive: "script-src 'self'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback. 2 3Refused to load the image '<URL>' because it violates the following Content Security Policy directive: "img-src 'self' data:". 4
jqueryの読み込みとimgタグのsrc設定時に上記エラーが発生します。
今までCSPに引っかかった際には、インラインのonclickをJSのaddEventListener
で書き換えたり、scriptタグをlinkタグに変更するなどして対処してきましたが、あまり理解できていませんでした。
CSPについては、読み込む外部ファイルの種類?形式?を制限することで、XSS攻撃などによって悪意のあるスクリプトが紛れ込んだ際にブラウザがそれらの実行を防ぐことができるものであると考えいています。(間違っていたらご指摘ください)
しかしスクリプトタグ形式で外部ファイルを読み込んでもエラーを吐かないこともあり、具体的にどういう場合にCSPエラーが発生するのかよく分かりません。
その辺りの内容と今回のようなケースの対処の仕方を教えて頂けないでしょうか?
###追記
html
1<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://ajax.googleapis.com; img-src https://image.tmdb.org;">
このように記載しても変わりませんでした。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/09 02:39 編集