1

自分自身の内部にsvgイメージを追加するjsプラグインを使用しています。 WebサイトにCSPポリシーを追加しましたが、プラグインのコードを許可するように設定することはできません。私がオブジェクトにレンダリングされるSVG画像を許可する設定を探していますコンテンツセキュリティポリシー(CSP):オブジェクトにsvgイメージを許可する方法

label=$("<object style='height:10px; width:10px;' type='image/svg+xml' data='data:image/svg+xml;charset=UTF-8," + 
"<svg xmlns=\"http://www.w3.org/2000/svg\">" + 
"<rect x=\"0\" y=\"0\" some parameters/>"+ 
"<text>SomeText</text></svg>'></object>"); 
el.html(label) 

:よう

そのコードが見えます。 私はそこから別のオプションを試してみました - CSP: object-src

しかし、私はなかれ、次のようなエラーが出るのです:

Refused to load plugin data from 'data:image/svg+xml;charset=UTF-8, my svg here' because it violates the following Content Security Policy directive: "object-src 'unsafe-eval'". 

この場合にはCSPが正しく設定するには、どのように?

答えて

2

このSVGイメージはURL data:で提供されているため、そのようにするにはCSPポリシーを更新する必要があります。

あなたの現在のポリシーが何であるかを示していないか、あなたはそれを設定したが、その後、あなたがその部分を更新することによって、そこにdata: URLを許可することができ、あなたがContent-Security-Policyヘッダーでそれを設定していると仮定すると、それが現在object-src 'unsafe-eval'を持っている場所

Content-Security-Policy: object-src data: 'unsafe-eval' 

Content-Security-Policyヘッダ内の現在の政策のほんの関連部分を示しています。このように見えるために政策の。ヘッダー値に現在あるその他のディレクティブが何であっても、そのままの状態で保存したいと考えています。

+0

これは、object-srcデータを使用して、ページ上の任意のアイテムに対する攻撃ベクトルのページを開きます。もしあなたの目標がセキュリティであれば、この穴を開けるのではなく、実行しようとしているスクリプトのshaハッシュを使うほうが良いでしょう。 – Chris

関連する問題