質問するログイン新規登録

回答編集履歴

1

追記

2018/02/15 07:06

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,6 +1,10 @@
1
1
  代表的なパターンについてまとめてくれている人がいました(もしかしたら参照済みかもしれませんが)。
2
2
  - [HTML5におけるinput要素のpattern、type属性のおさらい](https://qiita.com/ka215/items/795a179041c705bef03b)
3
3
 
4
+ 完全に万能な仕組みは無理と思いますので、ブラックリスト方式かホワイトリスト方式かどちらかに寄ることになるでしょう。
5
+ 個人的にはホワイトリスト方式の方を採用すべきと思います。カバーしきれない可能性もありますし。指定が冗長になればなるほど想定通りにいかなくなります。
6
+ つまり「受け入れたいもののみの指定とする」ことですね。
7
+
4
8
  しかしながら「XSS対策」となると結局は「入力した情報を画面に表示するとき」の対応をすることとなりますので、一度入力は受け入れておいて、出力時にサーバー側の言語でエスケープ対応するのが通例と思います。
5
9
  いずれにしてもHTMLは改ざんは簡単にできてそのまま送信可能ですので、苦労して作ったパターンは悪意あるユーザーには簡単に破られます。
6
10
  いずれにしてもサーバー側の言語でのバリデーションは必須と思います。