eval禁止令について

XSS対策としてeval禁止令を布告しているフィルターが結構あるのですが、そうするのであるならば、setTimeoutやsetIntervalも禁止すべきだと思いますし、あるいは、前項の例にもあるように、Functionコンストラクタも禁止すべきことでしょう。この他にも、数字にevalメソッドがあるとか(Firefox)をどうにかしなくてはならないはずです。まだ調べていませんが、まだまだこの他にもどうやらあるらしい(id:hasegawayosukeさんの公開ブックマークでブラブラしていたらみつけました)のでしばらく興味がつきません。
そもそも、XSS防衛のために、evalを禁止しても本質的にあまり意味がないとは思います。evalが作動しうる時点で既に負けなのですよね。ブラックリストで禁止してもしょうがないでしょう。まぁ保険なのでしょうが、めんどくさいだけですよね。
ただし、事後の捜査ということでしたら、ログを追いかけるという意味でのeval関連のフィルターは有用かもしれません。この場合にはさまざまな変形記述を全部考慮することが難しいので大変ですね。
事後の捜査で思い出しましたが、ウェブアプリでのXSSアタックの突破口については、サーバのログをおいかけることですぐに見つけられるのですけれど、一方、サーバのログからでは、具体的にはナニをしかけられたのかが、わからないようにと工夫することがいとも簡単にできることでしょう。 XSSはブラウザに対する攻撃ですので、サーバのログに残らないように具体的な悪意あるペイロードをブラウザだけに提供することが可能だからです。捜査が大変ですよね。ですので、XSSの穴がみつかりましたぁ、サーバのログを見る限りなんともないようです、という報道は、ある程度割り引いてみておかなくてはいけないと思います。いや、仕掛けられたことがわかっても何がしかけられたのかはわからないという意味で。