無害化すること。
サニタイジングされるべき文字の例と、意味、どのようにエスケープするかを示す。
なお、ここで挙げる例は一例であり、下記の文字だけを処理すればいいというわけではない。
Webプログラミングにおいては、HTMLに埋め込まれたJavaScript等のスクリプト言語でサニタイジングしてもセキュリティ的に意味がない。クラッカーや攻撃プログラムは、攻撃用コードをWebブラウザを介さず、直接サーバに送る。
スクリプトではユーザへの便宜のための入力値チェックに留め、必ずCGIプログラムの内部でサニタイジングを行なうようにする。
サニタイジングは、実行する直前、出力する直前に行なうのが基本である。
ただし、データの流れがはっきりと分かっている場合や、規格がはっきりと定まっているデータは、外部から取り込んだ直後にサニタイジングを行なっても差し支えはないといえる。
いずれにせよ、プログラムにおけるデータの流れや利用形態をはっきり認識しないと、プログラムは混乱に陥るので注意が必要である。
サニタイジングを行なうにあたって、通してはいけない文字を一つ一つ指定してサニタイジングを行なうと、プログラミングが膨大になったり、処理すべき文字を処理し忘れるという問題を生み出す可能性がある。
プログラミングを楽にし、セキュリティを向上させるには、通してもよい文字を指定し、それ以外はすべてサニタイジングするという処理にしなければならない。