サニタイジング – ユーザーが入力した情報を安全に扱う

サニタイジングとは

ユーザーがフォームにHTMLやSQLを書き込んだ際に、コードではなく文字列として扱うためにおこなうものです。

気をつけたいこと

うっかり以下のように二重にサニタイジングを行ってしまうと変な文字が表示されてしまいます。

// t.getNameはサニタイジング済み

String hoge = t.getName().toString()

どのように実装すればいいか

下記のように、HTMLやSQL文に使用される記号を安全なコードに書き換えることで解決することができます。

'<' →  &lt;
'>' →  &gt;
'\'' →  &#39;;
'\"' →  &quot;
'&' →  &amp;