結局XSS対策に必要なこと

  • エスケープ
  • 正しいエンコーディング名の明示
  • 応答への不正なバイト列注入の抑止
  • 引用符の省略をしない
  • スクリプトの埋め込みを許可する箇所の動適生成にはさらに別途対策が必要 (style:expressionとか javascript内の文字列の正しいエスケープのあり方とか)
  • URLを記述できる箇所でのスキーム名指定に注意(8/29追加)

うーん、何かまだ書き忘れてる気がする。