サニタイズ

ユーザー入力から有害なコードや不正な文字を除去・無害化する処理。XSS や SQL インジェクション対策の基本。

サニタイズ (サニタイゼーション) とは、ユーザーからの入力データに含まれる有害なコードや不正な文字列を除去・無害化する処理です。Web アプリケーションのセキュリティにおいて最も基本的な防御手段の一つです。

代表的な攻撃手法である XSS (クロスサイトスクリプティング) では、悪意のある JavaScript コードがユーザー入力を通じて Web ページに埋め込まれます。サニタイズにより <script> タグなどの危険な要素を無害化できます。Web セキュリティ入門の書籍で体系的に学べます。

サニタイズの方法には、HTML エスケープ (特殊文字を実体参照に変換)、ホワイトリスト方式 (許可された文字のみ通過)、ブラックリスト方式 (禁止パターンを除去) などがあります。

文字数カウントの観点では、サニタイズ処理により文字列の長さが変化する点に注意が必要です。例えば <&lt; に変換されると、1 文字が 4 文字に増えます。セキュアコーディングの書籍も参考になります。