HTMLサニタイザに関する多くの質問がSOに表示されていますが、私が望むことをすればわかりません。いくつかの推奨されたアプローチは4歳以上であるため、混乱します。危険なマークアップをフィルタリングするが残念なことになるASP.NET MVCのHTMLサニタイザ
TinyMCEエディタのページがあります。もちろん、このエディタはHTMLをサーバに送信し、HTMLを期待しているので、の属性で修飾されたString
のプロパティを持つエンティティを作成しました。それはうまくいく。
ここで、<script>
タグ、<img onerror="">
、またはJSを実行する方法、または外部URLを指すCSSを送信することを誰も試みないようにしたいと思います。
現時点で最良の解決策は何ですか?
WPLにはHtmlSanitizationLibraryがありますが、どのタグが「安全」と考えられるかはどのようにわかりますか?
WPLは昨年4月から何もリリースしておらず、ベータ版でした。だから私はこのプロジェクトがアクティブであるかどうか疑問に思っていましたか?
乾杯。
まだアクティブです。しかし、Sanitizerは、まあ、最近は衰えています。人々がXHTMLに移動するにつれて、サニタイザはその仕事に追いついておらず、リライトはテーブルにはありません。 TinyMCEは正しいXHTMLマークアップを生成するので、Linq2Xmlを使用してDOMを照会し、あなたの心のコンテンツをサニタイズすることができます。これはおそらく長期的な解決策です(そして、うーん、ブログや2つのアイデアを教えてくれます) – blowdart