XSSってなんですか?おいしいの?
XSSを修正しないという事
http://www.kanasansoft.com/weblab/2008/10/xss.html
指摘してる部分はわからなくもないですが、いろいろ気になるところ多くて変な祭りになりそうなので。
全体的にXSS=Javascriptと捉えられているんですが、別にJavascriptじゃなくても「動的に生成してブラウザ上で実行できる」スクリプトなら何でもできますよね?今はJavascriptしかないとは思いますが。例えば
とにかく、XSSの問題って、そこのサイトに対して開発者以外の人がスクリプトを書けて実行できちゃうことが問題だと思います。で、なんでこんなことになってるかというと、一つは何でも容易に適当に出力してるからですよね?hoge.html?q=foo でecho fooとか。ちゃんと考えたシステムなら、
- ここにはどんな出力がくるべきなのか(仕様)
- ブラウザではどんなものが入ってくると予想外の動きになるのか(例外)
ってことをはっきりさせるんじゃないのかなぁと思います。
私もXSSについて詳しいわけじゃないですし、そもそも例外とかどんどん増えていくと思うので逐次仕様と例外を確認すべきなのかなぁって思います。少なくともhtmlescape関数とか、サニタイズ(笑)とか、その辺の単語一つで終わるものじゃない気がします。
完全に防ぐのはなかなか難しいと思いますので、kanasanがおっしゃられてる通り
今すぐ修正してください。
ということに尽きるかと思います。あと再発させない。