ブラウザを攻撃するのに使われるService Workerを停止する方法。 本来Service Workerは、ウェブを高速に表示するために使われる技術だが、ユーザーには殆ど使う利点がない。 (Service Workerは、フルスクリーン表示したり、デスクトップにアイコンを作成したり、PUSH通知を行ったり、バックグラウンドでJavaScriptを動作させたりといった機能を提供する)

chrome

  • ServiceWorkersの停止。
    • URLにchrome://flags/と入力。
    • 検索欄に「Worker」、「PWA」、「Progressive」と入力し、出てきた項目を全てDisabledに変更する。
  • 次に既存のServiceWorkersを削除。
    • F12を押して開発者ツールを起動。
    • 「Application」→「Service Workers」→「Service Workers from other domains」を選択。
    • 出てきたものを、ひたすら「Unregister」。

Firefox

  • ServiceWorkersの停止。
    • URLにabout:configと入力。
    • dom.serviceWorkers.enabledをfalseにして再起動する。
  • 既存のServiceWorkersの停止。
    • URLにabout:debugging#workersと入力。
    • 登録解除を押す。
  • ServiceWorkerの登録削除とCache APIのキャッシュを全て削除するコード。
navigator.serviceWorker.getRegistrations().then(function(registrations) {
    // 登録されているworkerを全て削除する
    for(let registration of registrations) {
        registration.unregister();
    }
});
caches.keys().then(function(keys) {
    var promises = [];
    // キャッシュストレージを全て削除する
    keys.forEach(function(cacheName) {
        if (cacheName) {
            promises.push(caches.delete(cacheName));
        }
    });
});

参考

  • https://qiita.com/rana_kualu/items/52d8cb7b200d6fefddc8
  • http://amekujira.seesaa.net/article/446789130.html
  • https://qiita.com/igara/items/9564008194c74e12551e