IT用語
特別な意味を持つ記号を、ただの文字として扱われる形に変換すること。XSSやSQLインジェクションを防ぐ基本の対策。
エスケープは、HTML や SQL、URL などで特別な意味を持つ記号を、ただの文字として扱われる形に変換することです。利用者の入力などを出力するときにエスケープすることで、XSS などの攻撃を防ぎます。
HTML のエスケープの例
「<」は「<」、「>」は「>」、「&」は「&」、「"」は「"」に変換します。こうすると、入力に HTML のタグが含まれていても、タグとして解釈されず文字として表示されます。
出力する場所に合わせる
エスケープの方法は、出力する場所によって変わります。WordPress には場所ごとの関数が用意されています。
- HTML の本文:esc_html()
- HTML の属性の値:esc_attr()
- URL:esc_url()
- JavaScript の中:wp_json_encode() などで値を渡す
サニタイズとの違い
サニタイズ は、入力を受け取るときに不要なものを取り除いたり、形式を整えたりする処理です。エスケープは出力するときに行う処理で、両方を組み合わせて使います。データベースへの命令では、エスケープよりもプレースホルダを使うのが確実です(SQLインジェクション を参照)。









