メインコンテンツへスキップ

2026-05-18 · 読了目安 1 分

API とテンプレートでの HTML エンティティエンコーディング

HTML や JSON 文字列フィールドに埋め込む前にユーザーコンテンツをエスケープする。

HTMLセキュリティXSS

重要ポイント

  • エンコーディングはコンテキスト依存 — HTML エンティティは URL や JavaScript エスケープの代わりにはならない。
  • 信頼できるコンテンツのみデコード; レンダリング前に攻撃者制御文字列をデコードしない。

正しいエスケープを選ぶ

テキストノードには HTML エンティティエンコーディング; クエリパラメータには URL エンコーディング; JSON 内には JSON 文字列エスケープ。

複合ペイロードを構築するときはその順序でツールを連鎖する。

よくある質問

これで XSS は防げますか?

HTML へのテキスト挿入には役立つが、フレームワークの自動エスケープと CSP を主防御とする。

名前付き vs 数値エンティティ?

一般的な文字は両方サポート; 対象テンプレートエンジンで出力を確認。