MarkdownからHTML変換ツール
MarkdownをHTMLへ変換し、結果のコピー・保存に対応する。
ツールを開いて確認する →PRACTICAL GUIDE / 開発・Web
生HTML、リンク、画像、script、イベント属性、サニタイズの境界を確認します。
最終確認日:2026年8月22日 確認者:UtilityBox運営者
利用者入力のMarkdownをHTML化し、そのまま表示してスクリプトを実行する問題を防ぎます。
特に「Markdownパーサーが生HTMLを許可している。」状態を見落とさないため、作業を始める前に元データや現在の設定を残し、変更前後を比較できる状態を作ることが重要です。
MarkdownをHTMLへ変換するときのXSS対策では、処理が完了したかだけでなく、入力条件、変更内容、確認結果の3点を記録します。自動判定で確定できない部分は、利用先の仕様や担当者の判断と照合してください。
WORKED EXAMPLE
「Markdownパーサーが生HTMLを許可している。」可能性のあるケースを、元データを壊さずに切り分けます。
発生している問題
利用者入力のMarkdownをHTML化し、そのまま表示してスクリプトを実行する問題を防ぎます。
最初に確認する原因
1. Markdownパーサーが生HTMLを許可している。
2. 変換後HTMLをサニタイズしていない。
3. javascript: URLやイベント属性を見逃している。作業記録
1. 生HTMLを許可する必要性を確認します。
2. 変換後HTMLへ許可リスト型サニタイズを適用します。
3. リンクのschemeとiframe等の許可をテストします。
完了判定
- script、onerror、javascript:が除去される。
- 通常の見出し、表、リンクは維持される。
- プレビューiframeのsandboxを確認する。同じ症状でも原因は一つとは限りません。特に「Markdownパーサーが生HTMLを許可している。」に該当する場合と「変換後HTMLをサニタイズしていない。」に該当する場合では、確認すべき入力や設定が異なります。
一度に複数の条件を変更せず、変更前の状態と比較できるように一項目ずつ確認すると、再発時にも判断しやすくなります。
最低限、確認項目の「script、onerror、javascript:が除去される。」を満たすことを確かめます。結果の一部だけで判断せず、件数、形式、代表値、境界条件など、このガイドに示す確認項目を組み合わせてください。
また、正規表現だけでHTMLを安全化しないでください。 この限界に該当する場合は、ツールの結果だけで作業を確定せず、仕様書や元データへ戻って確認します。
生HTMLを許可する必要性を確認します。
変換後HTMLへ許可リスト型サニタイズを適用します。
リンクのschemeとiframe等の許可をテストします。
MarkdownをHTMLへ変換し、結果のコピー・保存に対応する。
ツールを開いて確認する →Markdownを入力し、安全にサニタイズしたHTMLプレビューを表示する。
ツールを開いて確認する →HTMLをMarkdownへ変換し、不要な装飾を整理する。
ツールを開いて確認する →ツールの操作方法だけでなく、結果を誤用しないための具体例、確認項目、処理の限界、元データを保管すべき場面まで記載します。原因・手順・完了判定・限界を運営者が確認したガイドだけを一覧と検索対象へ掲載します。