回答編集履歴
2
コメント内容を充実
answer
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
これは悪意あるスクリプトをローカル環境で実行することによる**情報漏えい**(ローカル画像のパスを直接指定し, `canvas`要素を使ってURL文字列化して外部に送信する手法)を防ぐためのものです.
|
|
4
4
|
|
|
5
5
|
NOTE:
|
|
6
|
-
`canvas`要素ではこの「危険な画像の出力」を**origin clean flag**と呼ばれる内部フラグで管理しており, **同一生成元ポリシー**に反する操作(例えば異なるオリジンにある画像を書き込む)を行うことでこのフラグが`false`に設定され, この状態をしばしば**オリジンクリーンフラグが汚染された**と形容します.
|
|
6
|
+
`canvas`要素ではこの「危険な画像の出力」を**origin clean flag**と呼ばれる内部フラグで管理しており, **同一生成元ポリシー**に反する操作(例えば異なるオリジンにある画像を書き込む)を行うことでこのフラグが`false`に設定され, この状態をしばしば**オリジンクリーンフラグが汚染された**と形容します. オリジンクリーンフラグが汚染された`canvas`要素に対して上記メソッド群を実行するとエラーとなります.
|
|
7
7
|
|
|
8
8
|
NOTE:
|
|
9
9
|
`File`オブジェクトを介したローカル画像の書き込みは**ユーザーの操作によって書き込まれたことが明らか**であることからオリジンクリーンフラグを汚染しません.
|
1
エラーを発生しうるメソッドのリストを追加
answer
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
chromeではローカル環境(HTML文書のURLが`file://`から始まるもの)における`toDataURL`メソッドの実行が**許可されていません**.(実行するとセキュリティエラーが発生する)
|
|
1
|
+
chromeではローカル環境(HTML文書のURLが`file://`から始まるもの)における`toDataURL`(`toBlob`,`getImageData`,`captureStream`)メソッドの実行が**許可されていません**.(実行するとセキュリティエラーが発生する)
|
|
2
2
|
|
|
3
|
-
これは悪意あるスクリプトをローカル環境で実行することによる情報漏えい(ローカル画像のパスを直接指定し, `canvas`要素を使ってURL文字列化して外部に送信する手法)を防ぐためのものです.
|
|
3
|
+
これは悪意あるスクリプトをローカル環境で実行することによる**情報漏えい**(ローカル画像のパスを直接指定し, `canvas`要素を使ってURL文字列化して外部に送信する手法)を防ぐためのものです.
|
|
4
4
|
|
|
5
5
|
NOTE:
|
|
6
6
|
`canvas`要素ではこの「危険な画像の出力」を**origin clean flag**と呼ばれる内部フラグで管理しており, **同一生成元ポリシー**に反する操作(例えば異なるオリジンにある画像を書き込む)を行うことでこのフラグが`false`に設定され, この状態をしばしば**オリジンクリーンフラグが汚染された**と形容します.
|