HTMLエスケープ・アンエスケープ
HTMLで意味を持つ記号を実体参照へ変換します。逆方向の復元にも対応します。
テキストを入力すると自動で変換します。
補足
- エスケープでは
& < > " 'の5文字を変換します。属性値の中でも安全に使えるよう、引用符も対象にしています。 - 復元では名前付き実体参照(
&など)と数値文字参照(あ/あ)の両方を扱います。 - 復元に
innerHTMLは使いません。HTMLとして解釈させずに、実体参照だけを自前で戻しています。
よくある質問
どの文字がエスケープされますか?
& < > " ' の5文字を実体参照へ変換します。ダブルクォートとシングルクォートも対象にしているため、属性値の中へそのまま埋め込めます。
あ のような数値文字参照も元に戻せますか?
戻せます。& のような名前付き実体参照と、あ / あ の数値文字参照の両方に対応しています。復元にinnerHTMLは使わず、HTMLとして解釈させずに実体参照だけを戻しています。
エスケープすればXSS対策として十分ですか?
十分ではありません。HTMLの本文や属性値へ出力する際のエスケープは基本ですが、href / src のようなURLを取る属性、script要素の中、CSSやJavaScriptの文脈では、それぞれ別の対策が必要です。この画面は変換結果を確認するためのものです。