HTMLエスケープ
利用方法
HTMLエスケープについて
-
HTMLタグおよびタグに使用される文字を文字列としてブラウザ表示したい場合、HTMLにタグをそのまま書いてもWEBブラウザがタグと判別し、文字列として正しく表示されません。ブラウザ上で表示させたいときは、それぞれの文字をエスケープ処理することにより正しく表示することが可能です。
-
ブログにソースコードをそのまま表示する際などにご利用いただけます。
エスケープ変換について
入力テキストに下記の特定文字がある場合にエスケープ変換します。
- & を & へ変換
- " を " へ変換
- ' を ' へ変換
- < を < へ変換
- > を > へ変換
オプションについて
-
『 codeタグで囲む 』にチェックを入れると変換後のコード全体を <code>タグで囲みます。
-
『 preタグで囲む 』にチェックを入れると変換後のコード全体を <pre>タグで囲みます。
-
『 タブ、連続するスペース、連続する改行を除去する 』にチェックを入れると変換後のコードから除去対象の文字を削除します。
サニタイズ(サニタイジング) / エスケープ / エンティティ化 違い
- サニタイジング
サニタイジングとは、WEBサイトの入力フォームへの入力データから、HTMLタグ、JavaScript、SQL文などを検出し、それらを他の文字列に置き換える操作のことです。「無害化」とも呼ばれ、サニタイジング操作により、入力データ中に含まれる悪意のあるHTMLタグ、JavaScript、SQL文などが解釈・実行されることを防ぎます。掲示板など、閲覧者からの投稿内容を表示するWEBサイトにおいては、投稿文中に含まれるHTMLタグをそのままサイトに反映すると、サイトのデザインを意図的に変更されてしまう可能性があります。また、同様に投稿内容中に悪意のあるJavaScriptコードなどが含まれていた場合、クロスサイトスクリプティングなどにより閲覧者が攻撃を受けてしまう危険性もあります。データベースと連動したWEBサイトでは、入力フォームにSQL文を書かれることにより、SQLインジェクション攻撃を受け、データベースの情報が改ざんされたり、非公開の情報が流出する危険性もあります。これらを防ぐため、入力されたデータを一定のルールに従ってチェックし、無害な状態に改変する操作がサニタイジングです。
- エスケープ
エスケープ(処理)とは、サニタイジングするための手段の一つで、HTMLの様なマークアップ言語やプログラミング言語で、文字列を扱う際にその言語の文法や処理系にとって特別な意味や機能を持つ文字や記号(およびその並び)を、適切に扱われるように対応したり、一定の規則に従って別の文字列に置き換えることを指します。例えば、HTMLはタグの記述に「<」「>」という記号を用いるため、この記号そのものを文字として表示することは本来できません。このとき、「<」「>」という特殊な表記法に置き換えることで、それぞれ「<」「>」と表示することができるようになります。このような置き換え操作・処理のことをエスケープ処理といいます。
本サイトでのエスケープはhtmlタグとしてエスケープした方がよい文字「& " ' < >」をHTML上で表示できる形に変換することを指しています。
- エンティティ化
こちらもサニタイジング手段の一つです。「エンティティ」とは「実体」と言う意味で、様々な分野で様々な意味で使用されています。
HTMLでのエンティティ化とは、テキストをHTML内で使用できる文字列に置き換える事を意味しています。
どんな記号や文字でもエンティティ化すると、その実体であるデータの文字参照「&#数値;」になります。
例えば、全角文字「あ」の場合は10進で「あ」、16進で「あ」になります。
本サイトでのエンティティ化とは入力された全ての文字を10進または16進の文字参照へ変換することを指しています。
免責事項
当サイトをご利用したことによる、またはご利用になれないことにより生じるトラブルや損害には、当方は一切の責任を負いません。