ブラウザを攻撃するのに使われる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