Safe Tools

HTMLエンティティ変換

HTMLの特殊文字を安全にエスケープ・アンエスケープ。クォーテーションの処理設定付き。

📖エスケープ処理の重要性とXSS対策について見る

HTMLエスケープ(エンティティ化)とは?

HTMLにおいて特別な意味を持つ記号(メタ文字)を、ブラウザが単なる「文字列」として解釈できるように、安全な文字列(エンティティ)に置き換える処理のことです。Webアプリケーションにおいて、ユーザーからの入力値を画面に表示する際などに必須となる処理です。

なぜエスケープが必要なのか?(XSS対策)

エスケープ処理を怠ると、「XSS(クロスサイトスクリプティング)」という重大な脆弱性に繋がります。

悪意のあるユーザーが入力フォームに <script>alert('攻撃')</script> のようなコードを入力し、それをそのまま画面に出力してしまった場合、ブラウザはそれを「実行可能なJavaScript」として解釈してしまいます。これにより、セッションハイジャック(Cookieの盗難)や、偽サイトへの誘導、不正な操作の強制などの被害が発生する可能性があります。

変換される主要な特殊文字一覧

Webセキュリティのベストプラクティスにおいて、必ずエスケープすべきとされる「5つの特別な文字」です。

  • & (アンパサンド) → &amp; : HTMLエンティティの開始文字として使われるため、最初に変換する必要があります。
  • < (小なり) → &lt; : HTMLタグの開始を防ぎます。
  • > (大なり) → &gt; : HTMLタグの終了を防ぎます。
  • " (ダブルクォート) → &quot; : HTMLタグの属性値(hrefやvalueなど)から文字列がはみ出すのを防ぎます。
  • ' (シングルクォート) → &#39; : ダブルクォート同様、属性値からのエスケープに使用します。(※ &apos; は古いIEなどでサポートされていなかった歴史的背景から、数値文字参照の &#39; が推奨されます)

入力 (HTML)

エスケープオプション

出力 (エンティティ文字列)

セキュリティについて

入力されたデータはすべてブラウザ内で処理され、外部サーバーに送信されることはありません。安心してご利用ください。