誰か (悪) が でタイマーを設定しsetInterval
たとしますが、その ID はわかりません (setInterval が返すオブジェクトへの参照も、その値もわかりません)。
(function(){
setInterval(function(){console.log('pwned')},
10000)
})();
クリアする方法、方法はありますか?他の方法でタイマーにアクセスすることは可能ですか? または、少なくとも特定のブラウザ/JavaScript エンジンでは?
David Flanagan は、彼の大きな JSTDG で同様のトピックに触れています。
setInterval() method, use in malicious code
インデックスのキーが指す
... 一部のブラウザーは、繰り返されるダイアログ ボックスと実行時間の長いスクリプトを検出し、それらを停止するオプションをユーザーに提供します。しかし、悪意のあるコードは setInterval() などのメソッドを使用して CPU をロードしたり、大量のメモリを割り当ててシステムを攻撃したりする可能性があります。Web ブラウザがこの種の人手による攻撃を防ぐことができる一般的な方法はありません。実際には、この種のスクリプトの乱用に関与しているサイトに戻る人はいないため、これは Web では一般的な問題ではありません。