質問編集履歴
2
誤記 Contents -> Content でした
    
        title	
    CHANGED
    
    | 
         @@ -1,1 +1,1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            httpヘッダーで 
     | 
| 
      
 1 
     | 
    
         
            +
            httpヘッダーでContent-Security-Policy: 'strict-dynamic'を指定した場合のfirefoxでのコンソール警告について
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -1,5 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ### 前提・実現したいこと
         
     | 
| 
       2 
     | 
    
         
            -
            phpを使ったWebフォームのXSS対策として、httpヘッダーで nonceを使った 
     | 
| 
      
 2 
     | 
    
         
            +
            phpを使ったWebフォームのXSS対策として、httpヘッダーで nonceを使ったContent-Security-Policy: script-src 'strict-dynamic'を設定しようとしています。
         
     | 
| 
       3 
3 
     | 
    
         
             
            挙動自体は問題なく、nonceが一致したscriptだけが実行されるようにはなったのですが、firefoxのコンソール上で、警告が表示されてしまうのが気にかかっています。
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            ### 該当のソースコード
         
     | 
1
調べたことを少し追記しました
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -1,5 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ### 前提・実現したいこと
         
     | 
| 
       2 
     | 
    
         
            -
            phpを使ったWebフォームのXSS対策として、httpヘッダーで nonceを使ったContents Security Policy: 'strict-dynamic'を設定しようとしています。
         
     | 
| 
      
 2 
     | 
    
         
            +
            phpを使ったWebフォームのXSS対策として、httpヘッダーで nonceを使ったContents Security Policy: script-src 'strict-dynamic'を設定しようとしています。
         
     | 
| 
       3 
3 
     | 
    
         
             
            挙動自体は問題なく、nonceが一致したscriptだけが実行されるようにはなったのですが、firefoxのコンソール上で、警告が表示されてしまうのが気にかかっています。
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            ### 該当のソースコード
         
     | 
| 
         @@ -11,4 +11,13 @@ 
     | 
|
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
            CSP3をサポートしていれば、nonce値と'strict-dynamic'以外は無視されるため、コンソールに表示されている警告は「無視しましたよ」という事実だけを表示しているものだと認識しているのですが、このままにしておいて良いのか、ブラウザによってheader関数を出しわける?等をした方が良いのかわかりません。。
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
      
 15 
     | 
    
         
            +
            #####ここから追記
         
     | 
| 
      
 16 
     | 
    
         
            +
            safariがCSP3非対応で、動的に生成されたscriptは(親のnonceが合っていても)実行されないようなので、結局ブラウザによるhttpヘッダーの出し分けが必要なのかな、と思いました。
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            [https://caniuse.com/?search=csp](https://caniuse.com/?search=csp)
         
     | 
| 
      
 19 
     | 
    
         
            +
            [https://caniuse.com/?search=strict-dynamic](https://caniuse.com/?search=strict-dynamic)
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            GTMタグをインラインで入れているので、nonceをサポートしないブラウザ(IEなど)は'unsafe-inline'を適用することになるのですが、そうなると結局IEではXSSできてしまうということでしょうか?皆さんどうしているのでしょう。。
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            「ブラウザごとによってこうやってCSP出し分けてるよ(もしくはCSPなんて全く使ってないよ、でも。)」というのがあれば是非ご教示いただきたいです。
         
     |