为什么AntiXss Library无法使用Eval()?

时间:2013-03-24 18:27:37

标签: c# asp.net antixsslibrary

我正在开发一个简单的ASP.NET应用程序来证明AntiXss库的使用。该库非常强大,除了在aspx页面中使用Eval()之外,它与我一起工作正常。例如,如果我有如下标签控件:

<asp:Label runat="server" ID="CommentsLabel" Text='<%# Eval("Name") %>' />

我如何能够使用AntiXss?

我跟着this example mentioned HERE,我通过执行以下操作将库添加到标签控件中:

<asp:Label runat="server" ID="CommentsLabel" Text='<%#Microsoft.Security.Application.AntiXss.HtmlEncode(((System.Data.DataRowView)Container.DataItem)["Comments"].ToString()) %>'/>

我的导师仍然告诉我它很脆弱​​,我不知道为什么。然后,我没有使用AntiXss.HtmlEconde(),而是使用了前一行中的Encoder.HtmlEncode()

<asp:Label runat="server" ID="CommentsLabel" Text='<%#Microsoft.Security.Application.Encoder.HtmlEncode(((System.Data.DataRowView)Container.DataItem)["Comments"].ToString()) %>'/>

修改

根据我导师使用的扫描工具,他仍然告诉我它很脆弱​​。 那么如何将该库与Eval或Data Binding结合使用?

0 个答案:

没有答案