HTMLエンコーダー/デコーダー
特殊文字をHTML実体に変換してXSS攻撃を防止
よく使うHTML実体リファレンス
| 文字 | 名前付き実体 | 10進数 | 16進数 | 説明 |
|---|---|---|---|---|
| < | < | < | < | 小なり記号(タグ開始) |
| > | > | > | > | 大なり記号(タグ終了) |
| & | & | & | & | アンパサンド(実体開始) |
| " | " | " | " | 二重引用符 |
| ' | ' | ' | ' | 単一引用符/アポストロフィ |
| |   |   | ノーブレークスペース | |
| © | © | © | © | 著作権記号 |
| ® | ® | ® | ® | 登録商標記号 |
| ™ | ™ | ™ | ™ | 商標記号 |
HTMLエンコードについて
HTMLエンコードは、特殊文字をHTML実体に変換するプロセスです。HTMLでは特定の文字(< や > など)に特別な意味があり、直接使用するとページ構造が壊れたり、セキュリティ上の問題が発生する可能性があります。
これらの文字を対応するHTML実体に変換することで、ブラウザはHTMLマークアップとして解釈することなく正しく表示できます。これはXSS(クロスサイトスクリプティング)攻撃を防ぐためのWeb開発における重要なセキュリティ対策です。
セキュリティに関する注意:ユーザー入力をWebページに表示する前に、必ずHTMLエンコードを行ってください。これはXSS攻撃を防ぐための基本的なセキュリティ対策です。
一般的な使用例
- XSS(クロスサイトスクリプティング)攻撃の防止
- HTMLで特殊文字や記号を表示
- 属性値に引用符を安全に含める
- HTMLコードサンプルを実行せずに表示
- 特殊文字を含むユーザー入力の処理
実体タイプの説明
名前付き実体
覚えやすい名前を使用、可読性が高いが、すべての文字に名前付き実体があるわけではない
< > &
10進数実体
文字のUnicodeコードポイント(10進数)を使用、すべての文字に対応
< > &  
16進数実体
文字のUnicodeコードポイント(16進数)を使用、CSSやJavaScriptと一貫性がある
< > &