質問するログイン新規登録

質問編集履歴

2

誤記 Contents -> Content でした

2021/09/30 12:10

投稿

mai1210
mai1210

スコア272

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

1

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

2021/09/30 12:10

投稿

mai1210
mai1210

スコア272

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なんて全く使ってないよ、でも。)」というのがあれば是非ご教示いただきたいです。