Скажем, кто-то (зло) установил нам таймер с setInterval
, но мы не знаем его ID (у нас нет ни ссылки на объект, который возвращает setInterval, ни его значения)
(function(){
setInterval(function(){console.log('pwned')},
10000)
})();
Есть ли способ, как его очистить? Возможно ли Чтобы получить доступ к таймеру каким-либо другим способом? Или, по крайней мере, в конкретном браузере / движке JavaScript?
Дэвид Фланаган затрагивает аналогичную тему в своем большом JSTDG.
метод setInterval (), использование во вредоносном коде ключа
в индексе указывает на
... Некоторые браузеры обнаруживают повторяющиеся диалоговые окна и длительные сценарии и дают пользователю возможность остановить их. Но вредоносный код может использовать такие методы, как setInterval () для загружать ЦП, а также атаковать вашу систему, выделяя много памяти. Есть нет общего способа, с помощью которого веб-браузеры могли бы предотвратить подобные атаки. В На практике это не обычная проблема в Интернете, поскольку никто не возвращается на сайт,