2009-11-16 29 views
1

我正在構建一個Sharepoint站點的webpart,允許用戶將信息輸入到最終將顯示給其他用戶的文本框中。問題是,我需要允許簡單的格式(粗體,斜體等),並允許用戶輸入一個url(我也不想公開XSS漏洞),因爲我不使用我的WebPart不這樣做,相信用戶。如何在Sharepoint webpart中允許簡單格式化和超鏈接時阻止XSS?

什麼是我最好的選擇不想寫一個完全成熟的HTML解析器的時候?

有一個SPHttpUtility.HtmlEncodeAllowSimpleTextFormatting(string),做幾乎我需要什麼。它允許簡單的格式如<B>,<我>等問題是,我想要允許超鏈接。有沒有人知道是否有一些內置函數在Sharepoint/ASP.NET中做我想要的嗎?

如果我在Sharepoint列表中的「多行文本」列中啓用「增強的富文本」,它似乎正是我想要的(它允許格式化和超鏈接,但不是邪惡的東西),但我無法弄清楚它是如何以及在哪裏做的?

回答

1

微軟在CodePlex上有一個名爲AntiXSS的項目,它似乎正在做我想做的事。但它確實允許更多的HTML比我所需要的(我找不到控制允許的東西的方法,也許我沒有到處看),但我認爲這可能是一個很好的解決方案。