2016-08-10 3 views
7

1つのソースに対して「unsafe-eval」という指令をどのように追加することが可能ですか?1つのURLのみのコンテンツセキュリティunsafe-evalポリシー

私はcode-applicationを開発しており、複数のソース(twitterなどの外部スクリプト)からscript-srcを許可する必要があります。meta http-equiv = "Content-Security-Policy:スクリプト-SRC *

<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline' data: gap: * 'unsafe-eval'; style-src 'self' 'unsafe-inline'; script-src * 'self' 'unsafe-inline' 'unsafe-eval';">

これは動作しますが、それは広いオープンだから、それは危険です。

だから私は、 '安全ではない-EVAL' を追加したいだけFまたはそれを必要とするスクリプト(私の例ではhttps://maps.googleapis.com

可能ですか?

答えて

1

できません。

'unsafe-eval'は、特定のスクリプトソースに適用されるフラグまたは属性ではありません。あなたはCSPの仕様からこの抜粋で見ることができるようにする代わりに、それは、それ自体のスクリプトのソースです:

source-expression = scheme-source/host-source/keyword-source/nonce-source/hash-source 
scheme-source  = scheme-part ":" 
host-source  = [ scheme-part "://" ] host-part [ port-part ] [ path-part ] 
keyword-source = "'self'"/"'unsafe-inline'"/"'unsafe-eval'" 

また、も、あなたができれば、これはトリガいくつかの他のスクリプトからあなたを保護しないだろう安全でない評価はマップ内のAPIコード内で評価するための独自の文字列で行います。

CSP unsafe-eval using Google Maps APIをご覧ください。多分'unsafe-eval'を取り除くことができます。

関連する問題