ホワイトリストも定義されている.NET用の包括的なHtmlクリーナー/Anti-Xssライブラリはありますか?Microsofts Anti-Xssから始めるのが良いことは知っていますが、許可されたhtmlタグとcssの適切なホワイトリストが必要です。誰か知っていますか?
3721 次
2 に答える
10
MicrosoftのAnti-XSSライブラリ(あなたが言及した)の何が問題になっていますか?
ホワイトリストに基づいて文字をフィルタリングし、HTMLを解析し、ホワイトリストに基づいてノードをフィルタリングし、(安全な)HTMLを再生成する包括的なHTMLサニタイズを備えています。ホワイトリストは(コードが開いているので)変更できますが、変更したいかどうかはわかりません。
使い方も簡単です:
var sanitizedHtml = Microsoft.Security.Application.Sanitizer.GetSafeHtmlFragment(inputHtml);
于 2010-05-05T13:09:38.333 に答える
1
MSDN (「制限された HTML 入力の許可」を参照)によると、 HTML 入力をサニタイズする最善の方法は、入力に対して HttpUtility.HtmlEncode() を呼び出し、すべてのホワイトリスト タグのエンコーディングを次のように選択的に置き換えることです。
<%@ Page Language="C#" ValidateRequest="false"%>
<script runat="server">
void submitBtn_Click(object sender, EventArgs e)
{
// Encode the string input
StringBuilder sb = new StringBuilder(
HttpUtility.HtmlEncode(htmlInputTxt.Text));
// Selectively allow and <i>
sb.Replace("<b>", "<b>");
sb.Replace("</b>", "");
sb.Replace("<i>", "<i>");
sb.Replace("</i>", "");
Response.Write(sb.ToString());
}
</script>
この記事も参照してください。
于 2010-01-12T21:05:23.377 に答える