1

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

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

我将如何使用 AntiXss?

我按照这里提到的这个示例进行操作,并通过执行以下操作将库添加到标签控件:

<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 一起使用?

4

0 回答 0