DEV
HTMLエンティティエンコーダ — 特殊文字を正しくHTMLに
HTMLエンティティは予約文字のHTMLコードです。例えば<は<。正しくエンコードしないとユーザー入力がHTMLマークアップとして解釈され——XSSの脆弱性になります。
よく使うHTMLエンティティ
&は&。<は<。>は>。"は"。'は'。 はノーブレークスペース。©は©。5つの予約文字を覚えれば、残りは調べられます。
XSS対策としてのエンティティエンコード
クロスサイトスクリプティングはユーザー入力を通じて悪意のあるスクリプトを注入します。HTML配置前にすべてのユーザー入力をエンコードすることで攻撃を無害化できます。ReactとAngularはテンプレート式で自動的に処理します。
Named vs. Numeric エンティティ
Named(©)は可読性が高い。Numeric(©十進または©十六進)はすべてのUnicode文字に使用可能。可読性のために名前付きエンティティを優先してください。