マークアップ例に貼り付ける前にテキストをHTMLエンコード
エンコードせずにドキュメントに`<script>`を表示すると、デモがXSSデモになります。`< > & " '` をエスケープ(ポリシーはページに記載)。
文字数: 26
使用タイミング
ブログスニペット、メールHTML、またはマークアップが実行されないようにエンティティを教える際。
例
仕組み
エンティティマップ(&, <, >, 引用符など)に従って置換。すべてのコンテキストでXSSに対する完全なサニタイザではありません。
よくある落とし穴
- エンコードはすべてのシンクでスクリプトをサニタイズすることとは異なります。
- 属性とテキストコンテキストではルールが異なります。
- JSONエスケープと安易に混在させないでください。
他のツールとの違い
HTMLエンティティはマークアップ用、JSONエスケープはJSON文字列用、URLエンコードはクエリ/パス用。
FAQ
これでアプリのXSSは防げますか?
エンコードはHTMLテキストコンテキストで有効ですが、アプリにはコンテキストに応じたエンコードフレームワークが必要。
すべてのUnicodeをエンコード?
数値エンティティは任意。デフォルトは一般的なXML/HTMLセット。
逆は?
HTMLデコード。
JSONエスケープとの違い?
言語とターゲットが異なる。
関連ツール
ブラウザ内で動作。アップロードは行われません。セキュリティ製品ではありません — ハッシュやJWTデコードはデバッグ用であり、パスワード保存や認証のアドバイスではありません。