9

HTML サニタイザーに関する多くの質問が SO に表示されていることは知っていますが、それらが私が望むことを行うかどうかはわかりません。推奨されるアプローチのいくつかは 4 年以上前のものであるため、少し混乱しています。

TinyMCE エディターのページがあります。もちろん、このエディターは HTML をサーバーに送信し、HTML を想定しているためString、属性で装飾されたプロパティを持つエンティティを作成しました[AllowHtml]。それはうまくいきます。

今、私は、<script>タグ、または 、<img onerror="">または JS を実行するあらゆる方法を誰も送信しようとしたり、外部 URL を指す CSS を追加したりしないようにしたいと考えています。

現時点での最善の解決策は何ですか?

WPLには HtmlSanitizationLibrary がありますが、どのタグが「安全」と見なされているかを知るにはどうすればよいですか?

WPL は昨年 4 月から何もリリースしておらず、ベータ版でした。それで、このプロジェクトがアクティブかどうか疑問に思っていましたか?

乾杯。

4

3 に答える 3

3

WPLは事実上の標準です。文字列を実行すると、エンコードされていない状態で安全に印刷できます。

@Html.Raw(Model.SomePropertyThatWasSanitizedWithWPL)
于 2011-12-29T13:31:56.327 に答える