4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Refused to create a worker from 'blobでコンテンツセキュリティポリシーで怒られた場合の対処法

Last updated at Posted at 2019-01-21

#Monacaでtessearact.jsを動かそうと思ったらコンソールに以下の画面が現れ、実行ができないエラーに遭遇してしまった。

Refused to create a worker from 'blob:file:///8c082fe9-ea7c-4bd6-8dbf-5ca6c339eb82'
because it violates the following Content Security Policy directive: 
"script-src * 'unsafe-inline' 'unsafe-eval'". 
Note that 'worker-src' was not explicitly set, so 'script-src' is used as a fallback.

どうやら、MonacaのプロジェクトテンプレートはデフォルトでXSSのような攻撃を抑止するためにHTTP headerにコンテンツセキュリティポリシーというものを設定しているらしいです。
以下、ご参考にさせて頂きました。
https://qiita.com/goofmint/items/0b60dcc5eccad6c794a2
https://content-security-policy.com/

エラーの内容から、blobと呼ばれるバイナリ形式のオブジェクトをセキュティで禁止しているようですので、許可を与えます。

index.html
<meta http-equiv="Content-Security-Policy" content="worker-src blob: ;default-src * data: gap: blob: content: https://ssl.gstatic.com; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">

デフォルトから worker-src blob: ;を追加し,default-srcblobを追加しています。

これで無事エラーは出なくなりました。

ただしこれはベストな方法ではないはずです。ベストな設定をご存知の方ご教授ください。

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?