開発者用拡張機能を公開するサイト
サイドパネルのリファラについて
写真販売サイトなどを運営していると拡張機能に難敵がおります。
そう、Webページの画像を保存する拡張機能です。
ストアで画像抜き出し系の拡張機能を調べたところ
殆どの場合はポップアップやサイドパネルに表示させる仕組みでした。
そして大変便利でした。悔しい。
故にサイト運営者はこういった拡張機能への対策を施さなければなりません。
一番手っ取り早いのはcanvasを使うことでしょうか。
なお少し試した結果、一番評価が高かった拡張機能でも
「::after」などの疑似要素からは取得できないようになっていました。
ただしやり方はあるのでイタチごっこではあります。
そこでふと思いました。
サイドパネルやポップアップでWebリソースを表示した場合、リファラは何になるのかと。
つまりリファラチェックすれば拡張機能を妨害できるのか、という問い。

そんな訳で作りました。試しました。
その結果、サイドパネルとポップアップではリファラは消えました。
反面コンテンツスクリプト内で画像を読み込むとそのWebページのリファラがつきました。
WebページでJSを実行しているのだから当然ではありますね。
また評価の高い拡張機能を調査したところ、
サイドパネルの画像はURLでアクセスしてるものと、base64で表示しているものが混在していました。
つまり表示できるものはそのままURLで、
そうでないものは一度canvas等で変換して表示しているということでしょう。
よくできてらっしゃる。
なので画像抽出拡張機能を妨害するのであれば
やはりcanvasで出力し画像リソースにアクセスさせないのが無難。
そう、Webページの画像を保存する拡張機能です。
ストアで画像抜き出し系の拡張機能を調べたところ
殆どの場合はポップアップやサイドパネルに表示させる仕組みでした。
そして大変便利でした。悔しい。
故にサイト運営者はこういった拡張機能への対策を施さなければなりません。
一番手っ取り早いのはcanvasを使うことでしょうか。
なお少し試した結果、一番評価が高かった拡張機能でも
「::after」などの疑似要素からは取得できないようになっていました。
ただしやり方はあるのでイタチごっこではあります。
そこでふと思いました。
サイドパネルやポップアップでWebリソースを表示した場合、リファラは何になるのかと。
つまりリファラチェックすれば拡張機能を妨害できるのか、という問い。

そんな訳で作りました。試しました。
その結果、サイドパネルとポップアップではリファラは消えました。
反面コンテンツスクリプト内で画像を読み込むとそのWebページのリファラがつきました。
WebページでJSを実行しているのだから当然ではありますね。
また評価の高い拡張機能を調査したところ、
サイドパネルの画像はURLでアクセスしてるものと、base64で表示しているものが混在していました。
つまり表示できるものはそのままURLで、
そうでないものは一度canvas等で変換して表示しているということでしょう。
よくできてらっしゃる。
なので画像抽出拡張機能を妨害するのであれば
やはりcanvasで出力し画像リソースにアクセスさせないのが無難。
Copyright © スペース・アイ株式会社