質問編集履歴

2

誤記 Contents -> Content でした

2021/09/30 12:10

投稿

mai1210
mai1210

スコア272

test CHANGED
@@ -1 +1 @@
1
- httpヘッダーでContents Security Policy: 'strict-dynamic'を指定した場合のfirefoxでのコンソール警告について
1
+ httpヘッダーでContent-Security-Policy: 'strict-dynamic'を指定した場合のfirefoxでのコンソール警告について
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- phpを使ったWebフォームのXSS対策として、httpヘッダーで nonceを使ったContents Security Policy: script-src 'strict-dynamic'を設定しようとしています。
3
+ phpを使ったWebフォームのXSS対策として、httpヘッダーで nonceを使ったContent-Security-Policy: script-src 'strict-dynamic'を設定しようとしています。
4
4
 
5
5
  挙動自体は問題なく、nonceが一致したscriptだけが実行されるようにはなったのですが、firefoxのコンソール上で、警告が表示されてしまうのが気にかかっています。
6
6
 

1

調べたことを少し追記しました

2021/09/30 12:10

投稿

mai1210
mai1210

スコア272

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- phpを使ったWebフォームのXSS対策として、httpヘッダーで nonceを使ったContents Security Policy: 'strict-dynamic'を設定しようとしています。
3
+ phpを使ったWebフォームのXSS対策として、httpヘッダーで nonceを使ったContents Security Policy: script-src 'strict-dynamic'を設定しようとしています。
4
4
 
5
5
  挙動自体は問題なく、nonceが一致したscriptだけが実行されるようにはなったのですが、firefoxのコンソール上で、警告が表示されてしまうのが気にかかっています。
6
6
 
@@ -24,4 +24,22 @@
24
24
 
25
25
 
26
26
 
27
+
28
+
27
- 知見がある方ご教示いただけますと幸いです。
29
+ #####ここから追記
30
+
31
+ safariがCSP3非対応で、動的に生成されたscriptは(親のnonceが合っていても)実行されないようなので、結局ブラウザによるhttpヘッダーの出し分けが必要なのかな、と思いました。
32
+
33
+
34
+
35
+ [https://caniuse.com/?search=csp](https://caniuse.com/?search=csp)
36
+
37
+ [https://caniuse.com/?search=strict-dynamic](https://caniuse.com/?search=strict-dynamic)
38
+
39
+
40
+
41
+ GTMタグをインラインで入れているので、nonceをサポートしないブラウザ(IEなど)は'unsafe-inline'を適用することになるのですが、そうなると結局IEではXSSできてしまうということでしょうか?皆さんどうしているのでしょう。。
42
+
43
+
44
+
45
+ 「ブラウザごとによってこうやってCSP出し分けてるよ(もしくはCSPなんて全く使ってないよ、でも。)」というのがあれば是非ご教示いただきたいです。