Как очистить интервал с неизвестным идентификатором?

Скажем, кто-то (зло) установил нам таймер с setInterval , но мы не знаем его ID (у нас нет ни ссылки на объект, который возвращает setInterval, ни его значения)

(function(){
  setInterval(function(){console.log('pwned')},
              10000)
})();

Есть ли способ, как его очистить? Возможно ли Чтобы получить доступ к таймеру каким-либо другим способом? Или, по крайней мере, в конкретном браузере / движке JavaScript?

Дэвид Фланаган затрагивает аналогичную тему в своем большом JSTDG. метод setInterval (), использование во вредоносном коде ключа в индексе указывает на

... Некоторые браузеры обнаруживают повторяющиеся диалоговые окна и длительные сценарии и дают пользователю возможность остановить их. Но вредоносный код может использовать такие методы, как setInterval () для загружать ЦП, а также атаковать вашу систему, выделяя много памяти. Есть нет общего способа, с помощью которого веб-браузеры могли бы предотвратить подобные атаки. В На практике это не обычная проблема в Интернете, поскольку никто не возвращается на сайт,

22
задан mykhal 27 July 2011 в 17:48
поделиться