ユーザーから提供されたhtmlをページに表示したい。私のページはほぼ完全に動的 (JS コード) であり、サニタイズする簡単な方法があるかどうか疑問に思っていました。
同様に、すべての<script>
and<iframe>
タグを削除し、文字列に含まれるすべてのイベントのバインドを解除する (または「on」で始まる html 属性を削除する) ことで、文字列から JavaScript コードが実行されないようにすることができますか?
ユーザーは、スタイル属性に css 'content' プロパティを持つ JavaScript を挿入できますか?
HTML マークアップや CSS スタイルを保持したいので、 jquery$(...).text(...)
関数は役に立ちません。
簡単な解決策がない場合は、html タグのホワイトリスト ( table
span
div
img
a
b
u
i
strong
...) を使用する準備ができていますが、属性もホワイトリストに登録する必要はありません。